-
Notifications
You must be signed in to change notification settings - Fork 3
Git 备忘录
这是你在使用 Git 进行的日常工作流程中需要做的一些最常见的事情.
温馨提示 1: 你可以通过插入连字符获取任何 git 命令的手册页. 如: "man git-fetch" 或 "man git-merge"
温馨提示 2: 安装 cheat gem 在终端上可以获取非常详细的备忘录
-
我在哪个分支上? 哪些文件已修改, 已暂存, 未跟踪等?
git status
-
获取所有新更改以及远程分支引用
git fetch
-
在当前分支上执行 git 提取
git pull
-
推送提交到 origin/master (如 SVN 提交):
git push origin master
-
推送提交到非 master 的其它分支:
git push origin your_branch_name
-
查看所有本地的分支
git branch
-
切换到本地存在的其它分支
git checkout existing_branch_name
-
创建并切换到新的分支
git checkout -b new_branch_name
-
合并指定分支到当前的分支:
git merge working_branch_name
-
临时隐藏我的修改, 以便我可以切换到另一个分支 ("stashing"):
git stash
-
将隐藏的修改恢复, 并将其保留在隐藏列表中:
git stash apply
-
将隐藏的修改恢复, 并从隐藏列表中删除:
git stash pop
-
查看修改提交日志:
git log
-
查看指定的提交修改内容:
git show COMMIT_HASH
-
查看更多详细的日志信息:
git whatchanged
-
移除自上次提交以来我所做的所有更改
git reset --hard
-
移除指定文件的更改:
git checkout FILENAME
-
使 HEAD 指向前两次提交的状态:
git checkout HEAD^^
-
修复冲突 (调用系统默认的文本差异比较工具):
git mergetool
-
还原提交 (请小心合并!):
git revert <commit hash>
-
从合并还原提交:
git revert -m<number of commits back in the merge to revert> <hash of merge commit>
(e.g. git revert -m1 4f76f3bbb83ffe4de74a849ad9f68707e3568e16 will revert the first commit back in the merge performed at 4f76f3bbb83ffe4de74a849ad9f68707e3568e16)
使用 Git 时, 在命令提示符上显示当前的分支名非常方便, 可在 .profile/.bashrc/.bash_profile
文件中修改命令提示符显示:
function parse_git_branch {
git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}