常用 Git 操作
Git Commands
Create Tracking Branches
$ git checkout --track origin/serverfix
使用和远程版本库不同的分支名:
$ git checkout sf origin/serverfix
unstage (reset stage to HEAD)
撤销向 index 添加的某个文件的修改:
$ git reset -- <filename>
或:
$ git reset HEAD <filename>
撤销向 index 添加的某个文件和文件夹: - 新文件(夹)而不是修改(不想加入版本管理,但误添加到暂存区) - 不再将此文件(夹)放到版本库(比如:自动生成的文件,但已经误提交到版本库)
$ git rm --cached <filename>
$ git rm --cached -r <dirname>
撤销向 index 添加的所有修改:
$ git reset [HEAD]
discard changes in working directory (reset working directory to stage)
撤销工作目录中某个文件相对 index 的修改:
$ git checkout -- <filename>
撤销工作目录相对 index 的所有修改:
$ git checkout [--] .
删除工作目录中的新文件:
$ rm <filename>
清除工作目录中所有 Git 未追踪的文件:
$ git clean -f
执行此命令前可以用 dry-run 来确认一下:
$ git clean -n
discard change both in stage and working directory
$ git checkout HEAD -- <filename>
$ git reset --hard HEAD
$ git rm <filename> # discard new <filename>
update all tracked files (add modified, deleted)
$ git add -u
list all remote branches
$ git branch -r
list files in index
$ git ls-files -s
show file content at deferent stage
显示共同祖先版本内容:
$ git show :1:filename
显示目标分支版本(通常为当前分支)内容(ours):
$ git show :2:filename
显示被 merge 分支版本内容(theirs):
$ git show :3:filename
Git Tools
Git Completion on Mac OS X
- If Git is installed by HomeBrew: Add the following lines to ~/.bash_profile
if [ -f `brew --prefix`/etc/bash_completion.d/git-completion.bash ]; then
. `brew --prefix`/etc/bash_completion.d/git-completion.bash
fi