首页 > 技术文章 > git 手动操作

stono 2017-03-12 23:06 原文

git 手动操作

以下所有的情况都需要在上面那个目录下;
查看改动: 
git status     // 所有改动都在这里。
提交代码:  
git add <file_name>      // 把代码放到 “本地缓冲区”
git commit -m "做了啥啥啥事儿"      // 提交到本地
git push                            // 提交到远程

首次 检出代码: (做一次就可以了,把代码从远程整个拉到本地)
git clone https://git.coding.net/a/a.git
或者 git clone git-server:java/a/a.git 更新代码: git pull // 更新代码 https://git.coding.net/a/a.git git remote add origin https://git.coding.net/b/b.git git push -u origin master ---------------------- 1. cd project folder 2. git init . 3. git add . 4. git commit -m "comments"
注意增加
.gitignore
gitbatch 第一次操作的时候:first time 5. git remote add origin https://git.coding.net/b/b.git
或者git remote add origin git-server:java/Tmcn/Tmcn.git git push -u origin master ----- and git add . git commit -m "com" git push ---- or git pull -----IMPORTANT git status

 问题处理:

 

19:00:28: *** Please tell me who you are.

Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"
  
问题处理:

1.git init
2.git config user.name "someone"
3.git config user.email "someone@someplace.com"
4.git add *
5.git commit -m "some init msg"
 

 gitbatch

git add .
git commit -m "commit"
git push
git status

git合并

git branch -a  # 查看所有版本
# 新建分支,或者使用 git checkout -b T01
git branch T01 # 新建分支T01
git checkout T01 # 切换到T01分支
git push -u origin T01:T01 # 把分支推到服务器,需要加-u参数,与服务器端建立连接
# 进行文件的修改
git add .
git commit -m "commit"
git push # 提交的时候会出现短版本号abc123,记录下来
# 进行分支合并
git checkout maintrunk # 切换到主版本号
git pull # 更新一下,防止别人有修改
git cherry-pick abcd1234 # 向主版本 合并修改的abcd1234版本
git push # 进行版本的提交,提交的时候也会出现8位版本号 efgh5678

git切换版本

git checkout uat  # 切换到uat版本
git checkout sit   # 切换到sit版本
git log --author=stono  # 查看stono所有的提交
git show a0biu89uj  # 查看某一个版本的变化
git log --pretty=oneline filename  # 查看某一个文件的所有变化

 

.gitignore

/build/*
/bin/*
*.class

.gitignore

/target/
!.mvn/wrapper/maven-wrapper.jar

### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr

### NetBeans ###
/nbproject/private/
/build/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/

 git操作

git remote -v  # 查看远程git地址
git rm -n -r --cached "bin"  # 列出来要删除哪些git管理项
git rm -r --cached "bin"  # 删除git管理项
git commit -m "commit"  # commit
git push   # push
git log --stat # 查看统计信息
git log --name-only # 列出名字
git log --pretty=format:%h # 只列出短的hash值
git config --list # 列出配置的信息,看看提交的Email是什么
git rm xxx # 本地和git版本管理都删除了;
git reset HEAD xxx # 恢复删除的xxx https://blog.csdn.net/bitcarmanlee/article/details/51315406
git checkout -- xxx # 恢复删除的xxx

git-log学习了: https://blog.csdn.net/wh_19910525/article/details/7468549

# 对于untracked files可以使用git clean进行清除
git clean -f  # 清除文件
git clean -fd  # 清除文件和文件夹
git clean -xfd  # 清除.gitignore的文件和文件夹
# 加上n参数可以查看删除哪些内容而不是真正删除
git clean -nf
git clean -nfd
git clean -nxfd

使用https方式进行git push,总需要输入密码,学习了:https://www.jianshu.com/p/5a4571df2305

# 方法1
git config --global credential.helper store
# 方法2,修改.git/config文件中的url
https://user:pass@gitserver.com/name.git
# 也可以把:pass去掉,这样每次可以输入密码
https://user@gitserver.com/name.git

本地两个仓库remote add origin 同一个地址,强制更新本地:

git fetch --all  
git reset --hard origin/master 
git pull

强制更新远程:

git push -f -u origin master
# 但是其他的本地仓库 git pull 的时候, fatal: refusing to merge unrelated histories

 

推荐阅读