你可能不知道的15个 Git 命令[每日前端夜话0xF5]

Git 有时可能会令人生畏。因为有太多的命令和细节需要学习。不过虽然文档的内容很多,但阅读起来还是很轻松的。一旦你克服了最初不堪重负的感觉,就会感觉到有明显进展。以下是你可能还不知道的 15 个 Git 命令的列表,希望它们能帮助你熟练掌握Git。

1.修改最近的提交


1git commit --amend

—-amend 允许你把阶段性更改(例如添加被遗忘的文件)附加到上一次提交。添加 --no-edit 将会修改最后的提交但不更改它的提交消息。如果没有更改,--amend 将允许你重新输入最后的提交消息。

更多信息:git help commit。

2.以交互方式添加文件的选定部分


1git add -p

-p (或 —patch) 允许以交互的形式选择每个跟踪文件中要提交的部分。这样每次提交仅包含相关的更改。

更多信息:git help add

3.以交互方式隐藏文件的选定部分


1git stash -p

与 git-add 类似,你可以使用 --patch 选项以交互方式选择每个要跟踪文件的部分。

更多信息:git help stash

4.隐藏未跟踪的文件


1git stash -u

在默认情况下,存储时不包括那些未跟踪的文件。为了改变这种行为并包括那些文件,你需要使用 -u 参数。还有一个 -a(-all)参数可以存储所有未跟踪和忽略的文件,这种操作通常能是你不需要的。

5.以交互方式还原文件的选定部分


1git checkout -p2--patch` can be also used to selectively discard parts of each tracked file. I aliased this command as `git discard

更多信息:git help checkout

6.切换到上一个分支


1git checkout -

此命令使你可以快速切换到先前签出的分支。通常 - 是上一个分支的别名。它也可以与其他命令一起使用。我为 checkout 创建了一个别名 co,因此可以是 git co -

7.恢复所有本地更改


1git checkout .

如果你确定可以放弃本地所有更改,则可以用 . 一次完成。但是始终使用 checkout --patch 是一个好习惯。

8.显示更改


1git diff --staged

该命令显示所有已阶段化的更改(已添加到索引中的更改),而与 git diff 相比,后者仅显示工作目录中的更改(索引中没有更改)。

更多信息:git help diff

9.在本地重命名分支


1git branch -m old-name new-name

如果要重命名当前签出的分支,可以将命令缩短为以下形式:

1git branch -m new-name

更多信息:git help branch

10.远程重命名分支


为了远程重命名分支,在本地重命名分支后,你需要先远程删除该分支,然后再次推送重命名的分支。

1git push origin :old-name2git push origin new-name

11.一次打开所有有冲突的文件


重新设置基准可能会导致冲突,以下命令将打开需要你解决这些冲突的所有文件。

1git diff --name-only --diff-filter=U | uniq  | xargs $EDITOR

12.发生了什么变化?


1git whatchanged —-since=‘2 weeks ago’

该命令将显示一个日志,其中包含最近两周内每次提交所引入的差异。

13.从上一次提交中删除文件


你可以通过结合 rm 和 commit --amend 命令来从上一次提交中快速删除误提交的文件:

1git rm —-cached <file-to-remove>2git commit —-amend

14.查找分支


1git branch --contains <commit>

该命令将显示包含特定提交的所有分支。

15.在本地优化存储库


1git gc --prune=now --aggressive

更多信息:git help gc

总结

尽管我非常喜欢CLI,但还是强烈建议使用 Magit 来进一步提高你使用 Git 的效率。它是我用过的最好的软件之一。

也可以通过 help 命令查看 Git 工作流程的精彩概述。请务必仔细阅读!

1git help workflows

原文:https://zaiste.net/15-git-commands-you-may-not-know/

更多相关文章

  1. Spring Boot 揭秘与实战 关于配置文件有哪些很棒的特性
  2. 全文检索引擎 Solr 系列(3)— Solr 核心概念、配置文件
  3. 使用Rails 3.2和AJAX(非flash上传解决方案)将多个文件直接上载到
  4. 使用ajax请求上传文件[副本]
  5. 使用JQuery从外部文件中通过id选择器获取html内容
  6. GET ajax请求发送到同一个php文件
  7. 无法使用jquery发送简单的ajax请求来获取json文件
  8. 在上传前预览xls、xlsx、doc等文件的缩略图
  9. 静态h5页面没有后台直接访问本地json文件

随机推荐

  1. React native Android(安卓)命令 打包apk
  2. 51. (android开发)线性布局、相对布局、
  3. Android札记
  4. 关于“Only the original thread that cr
  5. Android换肤机制
  6. Android点击事件的四种写法
  7. Android编程: 环境搭建、基本知识
  8. 杂七杂八2
  9. Android去除标题栏及自定义title栏
  10. android资源配置文件