Git 速查表

Git命令大致分为这几个模块:
序号模块功能
1CREATE关于创建的
2LOCAL CHANGES关于本地改动方面的
3COMMIT HISTORY关于提交历史的
4BRANCHES & TAGS关于分支和标签类的
5UPDATE & PUBLISH关于更新和发布的
6MERGE & REBASE关于分支合并类的
7UNDO关于撤销类的
8SUBMODULE关于子模块

CREATE
  • 从远程仓库获取代码
 
  1. git clone ssh://user@domain.com/repo.git
  • 初始化本地仓库
 
  1. git init
LOCAL CHANGES
  • 查看仓库的状态,(显示已改动的文件)
 
  1. git status
  • 比较工作区与最新本地版本库
 
  1. git diff
  2. git diff <fileName>
  • 添加所有变化(新增 new、修改 modified、删除 deleted)到暂存区
 
  1. git add -A
  • 添加所有变化(新增 new、修改 modified)到暂存区,不包括被删除(deleted)文件
 
  1. git add .
  • 添加修改(modified)和被删除(deleted)文件,不包括新文件(new)也就是不是被追踪文件(untracked)
 
  1. git add -u
  • 添加文件内某些改动到暂存区
 
  1. git add -p <file>
  • 提交所有的放在暂存区的文件和已经修改(不在暂存区)的文件,且问件是要被追踪(tracked)的
 
  1. git commit -a
  • 提交所有被在暂存区的问件
 
  1. git commit
  • 修改上一次提交日志
 
  1. $ git commit --amend
COMMIT HISTORY
  • 查看提交日志
 
  1. git log
  • 跟踪查看某个文件的历史修改记录
 
  1. git log -p <file>
  • 查看文件是谁什么时候修改什么地方
 
  1. git blame <file>
BRANCHES & TAGS
  • 查看所有分支(包括远程分支)
 
  1. git branch -a
  • 查看所有分支(包括远程分支)和最后一次提交日志
 
  1. git branch -av
  • 切换分支
 
  1. git checkout <branch>
  • 新建分支,不带old-branch为默认在当前分支上建立新分支
 
  1. git branch <new-branch> <old-branch>
  • 新建并且换分支
 
  1. git checkout -b <new-branch>
  • 删除分支,先切换其他分支再删除
 
  1. git branch -d <branch>
  • 删除远程分支
 
  1. git push origin --delete <branch>
  • 查看标签
 
  1. git tag
  • 新建标签
 
  1. git tag <tag-name>
  • 删除标签
 
  1. git tag -d <tag-name>
  • 推送标签到远程
 
  1. git push origin tagname
  2. git push origin --tags
UPDATE & PUBLISH
  • 列出所有的仓库地址
 
  1. git remote -v
  • 查看某个仓库的信息
 
  1. git remote show <remote>
  • 添加仓库地址
 
  1. git remote add <shortname> <url>
  • 从远程更新代码到本地但不合并
 
  1. git fetch <remote>
  • 从远程更新代码到本地且合并
 
  1. git pull <remote> <branch>
  • 发布到远程地址
 
  1. git push <remote> <branch>
  • 删除远程地址分支
 
  1. git branch -dr <remote/branch>
  • 上传标签
 
  1. git push --tags
MERGE & REBASE
  • 合并目标分支到本地分支
 
  1. git merge <branch>
  • 合并分支,但是不合并提交记录(commit),rebase合并如果有冲突则一个一个文件的去合并解决冲突
 
  1. git rebase <branch>
  • 合并终止
 
  1. git rebase --abort
  • 继续合并
 
  1. git rebase --continue
  • 使用配置的合并工具来解决冲突
 
  1. git mergetool
  • 添加已手动合并的文件
 
  1. git add <resolved-file>
  • 删除已手动合并的文件
 
  1. git rm <resolved-file>
UNDO
  • 回退到最近一个提交
 
  1. git reset --hard HEAD
  • 回退到上一次提交(倒数第二次)
 
  1. git reset --hard HEAD^
  • 回退某次提交的某个文件
 
  1. git checkout HEAD <file>
  • 回退到某个提交,但是不删除commit
 
  1. git revert <commit>
  • 彻底回退到某个提交(commit和代码都回退了)
 
  1. git reset --hard <commit>
  • 回退到某个提交(commit回退,代码保留)
 
  1. git reset <commit>
  • 回退到某个提交,并保留以更改的文件
 
  1. git reset --keep <commit>
SUBMODULE
  • 添加子模块
 
  1. git submodule add https://github.com/xxxxxx/Test
  • 克隆你有子模块的项目
 
  1. // 方法一
  2. git clone https://github.com/xxxxxx/MainProject
  3. cd MainProject // 子模块目录Test没有文件
  4. cd Test
  5. git submodule init
  6. git submodule update // 执行完后就有子模块的代码了
  7. //方法二
  8. // 自动更新子模块中的代码
  9. git clone --recurse-submodules https://github.com/xxxxxx/MainProject
  • 合并两个不同的项目
 
  1. // 需使用 `--allow-unrelated-histories`
  2. // 将远程master项目合并到你本地项目
  3. git pull origin master --allow-unrelated-histories
  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PHP柚子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值