Skip to content
L edited this page May 5, 2020 · 1 revision

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)

Bash 中的 Git

使用 Git 时, 在命令提示符上显示当前的分支名非常方便, 可在 .profile/.bashrc/.bash_profile 文件中修改命令提示符显示:

function parse_git_branch {
  git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
Clone this wiki locally