创建
git branch 本地分支
修改
git branch --set-upstream 本地 远程
创建并切换到本地分支
git checkout -b 本地分支 远程分支
git checout 远程分支 -b 本地分支
切换到空分支
git checkout 路径/分支名 如
git checkout public/master
将文件从已修改状态变为修改前状态
git checkout path/文件名
该命令只能用本地库覆盖你的工作拷贝,并不能取得远端版本的更新.如果要从远端直接更新某一个文件,
正确的方法应该是先更新本地库(但不更新工作拷贝),然后用本地库来更新单个的工作拷贝文件.
如下:
git fetch
git checkout origin/master -- path/to/file
git pull 远程分支 或者 直接 git pull
查看状态
git status
git add
git commit
git reset 远程分支
git reset HEAD <filename> //将文件从已暂存状态恢复为已修改状态
打patch
git format-patch -1
git am xxx.path
重新提交到其他分支
git cherry-pick -n hashcode //-n 重新提交
git commit
git push ...
删除分支
git branch -d 本地分支
查看配置
git config --list
cat .repo/config
本地:local
远程:remote/master
git push remote local:master
LOG 相关
git log -b 分支名
git log --grep "keyword"
git log --grep=PR0016000
git log --author=name
git log 路径
git show hashcode(file)
git log -p 显示path
git log --stat 显示改动的一个小结
git log --since="2012-2-23" --before="2012-2-25"//在这个时间内的修改
repo forall -pc git 命令 //在所有的目录执行这个git 命令 p path
分支合并
比如,如果要将开发中的分支(develop),合并到稳定分支(master),
首先切换的master分支:git checkout master。
然后执行合并操作:git merge develop。
如果有冲突,会提示你,调用git status查看冲突文件。
解决冲突,然后调用git add或git rm将解决后的文件暂存。
所有冲突解决后,git commit 提交更改。
分支衍合
分支衍合和分支合并的差别在于,分支衍合不会保留合并的日志,不留痕迹,而 分支合并则会保留合并的日志。
要将开发中的分支(develop),衍合到稳定分支(master)。
首先切换的master分支:git checkout master。
然后执行衍和操作:git rebase develop。
如果有冲突,会提示你,调用git status查看冲突文件。
解决冲突,然后调用git add或git rm将解决后的文件暂存。
所有冲突解决后,git rebase --continue 提交更改。