创建 | create
$ git clone ssh://[email protected]/xx.git 克隆远程仓库
$ git init 初始化本地 git 仓库(新建仓库)
本地更改 | local changes
$ git status 查看当前版本状态(是否修改)
$ git diff 显示所有未添加至 index 的变更
$ git diff head 查看已缓存的与未缓存的所有改动
$ git add 将该文件添加到缓存
$ git commit -m ‘xxx’ 提交
$ git commit --amend -m ‘xxx’ 合并上一次提交(用于反复修改)
$ git commit -am ‘xxx’ 将 add 和 commit 合为一步
提交历史记录 | commit history
$ git log 显示日志
$ git show 显示某个提交的详细内容
$ git blame 在每一行显示 commit 号,提交者,最早提交日期
分支机构和标签 | branches & tags
$ git branch 显示本地分支
$ git checkout 切换分支
$ git branch 新建分支
$ git branch --track 创建新分支跟踪远程分支
$ git branch -d 删除本地分支
$ git tag 给当前分支打标签
更新和发布 | update & publish
$ git remote -v 列出远程分支详细信息
$ git remote show 显示某个分支信息
$ git remote add 添加一个新的远程仓库
$ git fetch 获取远程分支,但不更新本地分支,另需 merge
$ git pull 获取远程分支,并更新本地分支
$ git push 推送本地更新到远程分支
$ git push --delete 删除一个远程分支
$ git push --tags 推送本地标签
合并与衍合 | merge & rebase
$ git merge 合并分支到当前分支,存在两个
$ git rebase 合并分支到当前分支,存在一个
$ git rebase --abort 回到执行 rebase 之前
$ git rebase --continue 解决矛盾后继续执行 rebase
$ git mergetool 使用 mergetool 解决冲突
$ git add 使用冲突文件解决冲突
$ git rm
撤消 | undo
$ git reset --hard head 将当前版本重置为 head(用于 merge 失败)
$ git reset --hard 将当前版本重置至某一个提交状态(慎用!)
$ git reset 将当前版本重置至某一个提交状态,代码不变
$ git reset --merge 重置至某一状态,保留版本库中不同的文件
$ git reset --keep 重置至某一状态,重置变化的文件,代码改变
$ git checkout head 丢弃本地更改信息并将其存入特定文件
$ git revert 撤消提交
帮助 | help帮助 | help
$ git help 获取命令行上的帮助