高效使用GIT

1 篇文章 0 订阅

原文参见:高效使用GIT

近几年来,git越来越流行,成为最常用的版本控制系统。GIT用于各种语言的开发、各种规模的团队的编码工作之中,不管是小型开源项目还是大型代码库(如linux kernel)

本文分享一些GIT技巧,希望有有助于更高效使用GIT、并改善使用git过程中的体验。

git log --no-merges

此git命令显示整个提交历史记录,但不包括那些将两个分支合并在一起、或解决合并冲突的提交。此命令可用于快速查看项目中的的所有更改,但忽略合并等会让git历史记录显得混乱的记录。

$git log --no-merges

commit e75fe8bf2c5c46dbd9e1bc20d2f8b2ede81f2d93
Author:  John
Date:   Mon Jul 10 18:04:50 2017 +0300

    Add new branch.

commit 080dfd342ab0dbdf69858e3b01e18584d4eade34
Author:  John
Date:   Mon Jul 11 15:40:56 2017 +0300

    Added index.php.

commit 2965803c0deeac1f2427ec2f5394493ed4211655
Author:  John
Date:   Mon Jul 13 12:14:50 2017 +0300

    Added css files.

git revert --no-commit [commit]

Git revert产生一个新提交,该提交撤消已提交更改,并生成包含结果内容的新提交。如需撤消命名提交(named commits)并避免自动提交,可使用标志--no-commit,或简写-n。

git diff -w

Git diff用于显示两个提交、两个工作树或磁盘上两个文件之间的更改。当多人在同一个项目上协同工作时,通常会由于文本编辑器的tab和space/空格设置不同而引起不必要的一些更改。代码比较时为忽略空格引起的差异,可与-w标志一起使用。

git diff --stat

显示每个文件随着时间的变化情况。可以添加3个参数:width覆盖默认的输出宽度,name-width设置文件名的宽度,count限制输出到第几行。

$ git diff --stat
 index.php | 83 +++++++++++++++++++++++++++++---------------------------
 1 file changed, 43 insertions(+), 40 deletions(-)
$ git diff --stat-width=10
 index.php | 83 +++---
 1 file changed, 43 insertions(+), 40 deletions(-)

git reset --soft HEAD ^

将HEAD重置为某个提交,无需改动索引文件和工作树。提交后所做的所有更改都将移至“暂存以提交”阶段。之后,只需运行git commit即可将其重新添加。

git stash branch [branch-name] [stash]

此命令创建一个名为branch-name的新分支并将其检出,然后将给定stash中的代码修改应用于该分支并删除stash。如果没有指定stash,将使用最新stash。此命令将任何stash的代码更改应用到更安全的环境,然后合并到主环境中。

git branch -a

此命令用于显示所有远程跟踪的分支和本地分支的列表。可以使用--merged标志查看已完全合并到master的分支,以便跟踪分支、找出不再使用的分支以便进行删除清理。

$ git branch -a

  dev
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev

git commit --amend

git commit --amend可用于更改已提交的修改而不必创建新的提交。如尚未将更改推送到远程分支,可使用此命令来修改最近的提交、添加最新的更改、甚或更改提交消息。

git pull --rebase

Git pull --rebase强制git首先拉/pull更改,然后在远程分支的最新版本之上重新建立未推送/push的提交。--rebase选项防止不必要的合并提交来确保线性历史记录。

git add -p

使用此命令时,立即将所有更改添加到索引中,而是会遍历每个更改并询问需要如何处理。此方式用于交互式地选择将要提交的内容。

diff --git a/package.json b/package.json
index db78332..a814f7e 100644
--- a/package.json
+++ b/package.json
@@ -6,7 +6,6 @@
   },
   "devDependencies": {
     "bootstrap-sass": "^3.3.7",
-    "gulp": "^3.9.1",
     "jquery": "^3.1.0",
     "laravel-elixir": "^6.0.0-11",
     "laravel-elixir-vue-2": "^0.2.0",
Stage this hunk [y,n,q,a,d,/,e,?]?

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值