国外网友制作的Git Cheat Sheet,已经翻译为中文,描述了常用的Git命令和使用git的最佳做法
我对翻译后的文案加上序号和格式的调整
建议记下它们,如果你使用git

一、常见命令

1. 创建

克隆现有的存储库

 $ git clone ssh://user@domain.com/repo.git

创建新的本地存储库

 $ git init

2. 本地变化

更改工作目录中的文件

 $ git status

对跟踪文件的更改

 $ git diff

将所有当前更改添加到下一次提交

 $ git add .

将< file >中的一些更改添加到下一次提交

  $ git add -p <file>

提交跟踪文件中的所有本地更改

 $ git commit -a

提交先前阶段的更改

 $ git commit

更改最后提交
不要修改发布的提交!

 $ git commit --amend

3. 提交历史

显示所有提交,从最新开始

 $ git log

显示特定文件随时间的变化

 $ git log -p <file>

谁在< file >中更改了内容和时间?

  $ git blame <file>

4. 分支和标签

列出所有现有分支

 $ git branch -av

切换分支

 $ git checkout <branch>

根据当前的头部创建一个新分支

 $ git branch <new-branch>

基于远程分支创建新的跟踪分支

$ git checkout --track <remote/bran- ch>

删除本地分支

  $ git branch -d <branch>

提交标签

  $ git tag <tag-name>

5. 更新和发布

列出所有当前配置的远程主机

 $ git remote -v

显示有关远程

 $ git remote show <remote>

添加名为< Remote >的新远程存储库

$ git remote add <shortname> <url>

从< Remote >下载所有更改,但不要集成到Head中

$ git fetch <remote>

下载更改并直接合并/集成到头中

$ git pull <remote> <branch>

在远程上发布本地更改

$ git push <remote> <branch>

删除远程上的分支

$ git branch -dr <remote/branch>

发布标签

$ git push --tags

6. 合并和重基

将<分支>合并到当前的头部

  $ git merge <branch>

将当前的头重新定位到<分支>
不要重新发布已发布的提交!

  $ git rebase <branch>

中止重基

  $ git rebase --abort

解决冲突后继续重基

 $ git rebase --continue

使用配置的合并工具解决冲突

 $ git mergetool

使用编辑器手动解决冲突,并(在解决后)将文件标记为“已解决”。

  $ git add <resolved-file>    $ git rm <resolved-file>

7. 撤销

放弃工作目录中的所有本地更改。

$ git reset --hard HEAD

放弃特定文件中的本地更改。

$ git checkout HEAD <file>

还原一个提交(通过产生一个新的具有相反更改的提交)

$ git revert <commit>

将头指针重置为上一次提交
…并放弃自那以后的所有变化

$ git reset --hard <commit>

…并将所有更改保留为未分阶段的更改。

$ git reset <commit>

…并保存未提交的本地更改。

$ git reset --keep <commit>

二、最佳做法

1. 提交相关修改

  提交应该是相关更改的包装。例如,修复两个不同的bug应该产生两个单独的提交。消息使其他开发者更容易理解禅宗。 如果出了什么问题就把它们退回去。

有了诸如分阶段区域和ABI特性这样的工具,只对文件的部分进行分级,Git使创建非常细粒度的提交变得非常容易。

2. 经常提交

  提交经常使您的承诺保持较小,并且再次帮助您仅提交相关的更改。
  此外,它允许您更频繁地与其他人共享代码。
这样对每个人来说都比较容易 定期集成更改,避免合并冲突。

  相反,很少有大量的提交,并且很少分享它们,这使得解决冲突变得困难。

3. 不要半途而废

  您应该只在代码完成时提交代码。这并不意味着您必须在提交之前完成一个完整的大型功能。完全相反:分裂

特性的实现分为逻辑块,并记住要尽早提交。

  但是,不要只承诺在一天结束前离开办公室之前就在存储库中有一些东西。如果仅仅因为需要一个干净的工作副本(检查分支)而想提交 在变化,拉等)考虑使用Git的«stash»特征相反。

4. 在提交之前测试代码

  抵制诱惑,去做一些你认为已经完成的事情。彻底测试它,以确保它真的完成了。

  而且没有副作用(据我们所知)。虽然在本地存储库中提交半生不熟的东西只需要您原谅自己,但是在以下情况下进行代码测试就更重要了。 这涉及到推送/与他人共享代码。

5. 编写良好的提交消息

  开始您的消息,以一个简短的总结,您的变化(多达50个字符作为一个Gui-deline)。将它与下面的正文分隔开,方法是包含一个空行。您的消息正文应该提供如以下问题的邮件式解答:

改变的动机是什么?它与以前的实施方式有何不同?

  使用祈使句、现在时态(省去变化、不改变或改变)与来自Git合并的命令生成的消息一致。

6. 版本控制不是备份系统。

  在远程服务器上备份文件是拥有版本控制系统的一个很好的副作用。但是你不应该像使用备份系统一样使用你的VCS。在执行版本控制时,您将应该注意语义上的(见相关的Chan-Ges)-你不应该只是在文件中填塞。

7. 使用分支

  分支是Git最强大的特性之一,这不是偶然的:快速和容易的分支是第一天的中心要求。分支是帮助你避免混淆不同发展方向的完美工具. 您应该在开发工作流程中广泛使用分支:用于新特性、bug修复、想法……

8. 就工作流达成一致

  git允许您从许多不同的工作流中选择:长时间运行的分支、主题bran-ch、合并或重基、git-flow…。您选择哪一个取决于以下几个因素:你的项目,你的整体开发和部署工作流程,(也许最重要的)是你和你的队友的个人喜好。无论你选择工作,只要确保达成一个共同的工作流程,每个人都遵循这个工作流程。

9. 使用帮助和文档

获取命令行的帮助

  $ git help <command>

免费在线资源

http://www.git-tower.com/learn
http://rogerdudler.github.io/git-guide/
http://www.git-scm.org/

Git Cheat Sheet——Git的常用命令和最佳做法相关推荐

  1. Git Cheat Sheet 中文版

    Git Cheat Sheet 中文版 本文内容转载GitHub repo Git-Cheat-Sheet 索引 配置 配置文件 创建 本地修改 搜索 提交历史 分支与标签 更新与发布 合并与重置 撤 ...

  2. git连接远程仓库以及常用命令

    git连接远程仓库以及常用命令 git 连接远程仓库 git ssh key配置 本地配置 git配置 git连接远程仓库 关联远程仓库(将本地仓库推送到新的远程仓库) git常用命令(包括clone ...

  3. git config credential.helper及常用命令

    命令: git config credential.helper <方式>常用命令: git config credential.helper 'cache --timeout 0' # ...

  4. g-git 相关命令 及其 基本原理探索(二):git 在工作中的常用命令操作 ,超级实用!!!

    上一篇git 基本原理对git的使用以及文件分布已经有了一个整体的了解. 本篇将对工作中常用的一些git 操作命令的操作进行总结归纳,方便今后查阅. 文章目录 1. 分离头指针 2. 通过HEAD 来 ...

  5. git 强制推送_Git 常用命令清单,掌握这些,轻松驾驭版本管理

    工程下载.分支的增删查改 工程下载: clone 远程工程:git clone https://XXXX.git fetch 远程分支到本地某分支:git fetch origin : 分支的增删查改 ...

  6. git 获取最新代码_常用命令之git操作(入门篇)

    Git 是一个本地代码管理的工具.它是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. 如今的公司,只要涉及到项目开发的,基本都是用 git 来管理代码.所以,学习和掌握一些基本的 ...

  7. Git的基础知识和常用命令

    源代码的管理从最原始的手工备份到后来的CVS, SVN和GIT的应用,经历了一个漫长的过程.GIT大概是除了linux内核以外, Linus Torvalds对信息技术发展的另一重要贡献啦. GITH ...

  8. git强制推送_Git 常用命令

    Git 常用命令总结 1. GIT 工作区 add commitworking directory ------- index(stage) ---------- HEAD | | | | | | 工 ...

  9. git ssh拉取代码_Git 常用命令及应用这一篇就够了(新手向)

    1. git 常用命令 1.1 常用命令 # 初始化git git init # 克隆项目 git clone [url] # 显示文件状态 git status -s # 添加文件到暂存区 git ...

最新文章

  1. l2_norm opencv torch比较
  2. C语言经典例39-在有序数组中插入一个数
  3. 数据科学竞赛-自然语言处理赛流程
  4. 余承东嘲讽苹果:iPhone 12落后华为Mate40两代
  5. 程序设计导引及在线实践——练习记录
  6. SpreadJS V14.2.0 放假前Crack
  7. 有了这款geek卸载工具,让你卸载不在烦恼!
  8. 通达OA2017版 手机签章会撑大表格的处理
  9. ceph存储 PG的状态机和peering过程
  10. Python 练习实例21 猴子吃桃问题
  11. 数据泵导入报错ORA-39125和LPX-00225
  12. 自动清理垃圾文件与文件夹脚本.bat
  13. 自动驾驶人一定要知道的120多家公司!
  14. 算法入门——数组,链表,选择排序
  15. 趣图:公司里来了一个程序员鼓励师
  16. Tromino谜题java_Tromino谜题
  17. STM32——跑马灯实现
  18. 《数据结构学习笔记》-持续记录
  19. 使用ADO创建Excel数据表
  20. 《大数据》第七章 聚类 K-means算法 BFR算法 CURE算法

热门文章

  1. 最新苹果手机丢失通过ICCID反查手机号的方法【丢锋网独家整理】
  2. 做好网络推广工作需要做出哪些努力?
  3. 请确定扫描仪是否正确连接--清华紫光扫描仪a688
  4. 公开课计算机原理,《计算机的基本工作原理》公开课材料
  5. 情感分析属于计算机科学,一种基于中文语义结构和细分词库结合的情感分析方法...
  6. (JS)身份证号码脱敏
  7. 调出任务管理器的快捷方式
  8. ipscan怎么用?ipscan使用方法
  9. 计算机硬件设备ppt教案,计算机的硬件组成课件.ppt
  10. XCode各版本下载安装