Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库

添加工作区所有文件到暂存区: git add -A 查看工作区与暂存区文件的不同 git diff

从暂存区添加文件到本地仓库 git commit -m " 提交信息" 查看暂存区与本地仓库文件不同 git diff --cached

从本地仓库master分支文件推送到远程仓库master 分支 git push -u origin master (第一次推送时使用) git push origin master git diff HEAD

打tag 并推送到远程仓库 git tag tagname git push origin tagname 推送单一个tag git push origin --tags 推送本地所有tag

删除远程仓库tag git tag -d tagname git push origin :refs/tags/tagname

从远程仓库拉取与本地工作区合并 git pull

删除 一些 没有 git add 的 文件(未加入版本控制的文件); git clean 参数 -n 显示 将要 删除的 文件 和 目录 -f 删除 文件,-df 删除 文件 和 目录

Undo&Revert:撤销与恢复某个Commit 以创建一个新提交的方式撤销某个提交的操作 git revert <commitid-ish> 恢复某个文件到某个Commit时候的状态 git checkout <commitid-ish>

分支操作 获取所有本地与远程的分支 git branch -a 只展示远程分支 git branch -r 根据某个Commit的Hash来查找所有关联分支 git branch -a --contains <commit-ish> | git branch --contains <commit-ish> 删除本地分支 git branch -d <local_branchname> 删除远程分支 git push origin --delete <remote_branchname> 或者 git push origin :<remote_branchname> 移除所有已经合并进入Master的分支 git branch --merged master | grep -v '^*' | xargs -n 1 git branch -d 移除所有在远端已经被删除的远程分支 git fetch -p 或者 git remote prune origin

Rebase:变基 在Pull时候强制用变基进行操作 git config --global branch.autosetuprebase always 将某个feature分支变基到master,然后合并进master git checkout feature && git rebase @{-1} && git checkout @{-2} && git merge @{-1} 变基之前自动Stash所有改变 git rebase --autostash 利用变基自动将fixup提交与正常提×××并 git rebase -i --autosquash 利用ReBase将前两个提×××并 git rebase --interactive HEAD~2

Track:文件追踪 展示所有被追踪的文件 git ls-files -t 展示所有未被追踪的分支 git ls-files --others | git ls-files -o