1.查看本地提交
```
git branch -a
```
2. 创建分支 git branch test
3.分支推到远程分支 git push origin test
4. 分支切换到 git checkout test
5. 拉取远程分支,到本地,并创建新的分支git checkout -b test remotes/origin/test
6. 删除本地分支 git branch -d test
删除远程分支 git push origin --delete test
7. merge 其他提交到本分支 git cherry-pick 17dfae0cc1d474a0b00b7254b2d1cb6e23f9bf02
8. 本地提交推到远程 git push
9. 本地提交在远程拉取 git pull
10.查看所有tag git tag
11.切换远程tag 到本地 git checkout v0.1.0
一般的做法是建立一个本地分支,基于某一个 tag : git checkout -b tag0.7.9 k0.7.9
12.将一个项目的的某次提交后的提交打成补丁合并到现在的项目上
git format-patch -s fc3e5d5d97e8ffb6cb442a2e215e9b5ce04d76ed
会生成下面的提交
0001-ffmpeg-update-to-ff3.2-ijk0.7.6-20170324-001.patch
0002-ijkplayer-android-support-soundtouch.patch
0003-ijkplayer-stop-soundtouch-translate-when-abort.patch
0004-NEWS.md-k0.7.9.patch
0005-k0.7.9.patch
将patch copy到要合并的目录下
应用patch:
先检查patch文件:#git apply --stat newpatch.patch
检查能否应用成功:#git apply --check newpatch.patch
打补丁:#git am --signoff < newpatch.patch
13. 查看本地分支和远程分支的对应关系
git branch -vv
14 查看分支url:git remote -v
15.添加远程分支 : git remote add name url
16. 拉取主分支最新代码 :git fetch name
17. 删除远程仓库里面的某一个文件 git rm -r --cached filename.cpp ; git commit -m "delete filename.cpp" ; git push;
18. 合并:git merge .....
19. 开发某一个阶段的版本打TAG
git tag -a <版本号> -m "<备注信息>"
git tag -a 1.0.0 0c3b62d -m "Release Edition v1.0.0" 就是为SHA为0c3b62d的这次提交打了1.0发行版的tag
20. 把分支的代码 (dev) 合并到master分支上
首先切换到master分支上
1) git checkout master
如果是多人开发的话 需要把远程master上的代码pull下来
2)git pull origin master
如果是自己一个开发就没有必要了,为了保险期间还是pull
然后我们把dev分支的代码合并到master上
3) git merge dev
21 . git回退到某个版本并提交
回退到分支某个版本 git reset --hard c88173be7b521fcbe88c5be4fc1d3889e52226ae(要回退的分支版本号)
查看分支当前版本 git rev-parse HEAD
提交回退的版本 git push -f (注:强制提交后,当前版本后面的提交版本将会删掉!)