Git 实用小技巧

作者: ifool | 来源:发表于2016-07-09 11:14 被阅读99次
  1. 清理远程仓库已删除、本地仍存在的远程分支。有时候远程仓库的某个分支已经被删除了,但是使用 git branch -r 查看时,该分支在我们本机上依然存在。这是因为我们执行 git fetch 或者 git pull 命令时并不会同步清理这些远程仓库已删除、本地仍存在的远程分支。这时我们可以使用 git remote prune origin 或者 git fetch -p (即 --prune ,表示在 fetch 代码之后删除未跟踪的远程分支)进行清理。我比较喜欢用 git fetch -p ,既拉了代码,又清理了没用的远程分支,一举两得!

  2. 消除 git pull 时产生的 Merge 消息。我们执行 git pull 时,总是会产生一条无意义的 Merge 消息。如何消除这条 Merge 消息呢?熟悉 Git 的 猿类都知道执行 rebase 是不会产生 Merge 消息的,所以还是这个思路,我们可以通过如下方式消除 git pull 时产生的 Merge 消息。
    一、 每次执行 git pull 时加上 --rebase 参数,即每次 pull 代码时都执行 git pull --rebase
    二、先执行 git config --global pull.rebase true (在一台机器上只需要执行一次),然后执行 git pull。推荐使用这种方式,省事!

  3. 查看修改过的文件名。git diff 会显示当前工作区有哪些内容发生了改动,如果只想查看有哪些文件名发生了修改,就可以使用 git diff --name-only 。你可能会问,git status 不也可以么?没错,但是 git status 还会显示一些额外信息,比如 “Changes not staged for commit...”等,不方便与外部脚本进行交互。

  4. 应用其他分支的 Commit 到当前分支。有时为了方便,我们可能在某个功能分支上修复了一个 bug ,后来才意识到应该新开一个 bugfix 分支再去修改和 Commit 。新建 bugfix 分支后,我们不必手把手的将代码再修改一遍,只需要使用 git cherry-pick your-bugfix-commit-hash 就可以将在功能分支上修改bug的代码"应用"过来,super cool!

  5. 查看某个文件的每一行是谁修改的。使用 git blame $filename 可以查看 $filename 的每一行是谁修改的,加上 -L 参数,例如 git blame -L start_line,end_line $filename 或者 git blame $filename -L start_line,end_line 还可以查看从 start_lineend_line 的这些行是谁修改的。

  6. 保存修改过但尚未提交的内容。经常会有这样的时刻,正在开发某个功能,然后要去修复一个重要的bug,那已经修改过的内容怎么办?先提交代码,然后切分支去修复bug?这么做也可以!但是我们有更优雅的方式,那就是使用 git stashgit stash 会把修改过但未提交的内容保存起来,然后我们就可以切分支去修改 bug 了。修改完bug之后,再切换到我们功能分支,输入 git stash pop 就可以把之前修改过但尚未提交的内容恢复回来。具体操作步骤如下:
    1> git checkout feature-branch
    2> 开发功能......
    3> 被告知要修改 bug
    4> git stash
    5> git checkout hotfix
    6> 修改 bug 并提交代码
    7> git checkout feature-branch
    8> git stash pop

  7. 清理未跟踪的文件。一个新需求,你刚刚创建了model、view、controller和spec的一些文件,然后产品经理又告诉你这个需求不做了(想踹死他是不是?),这时可以使用 git clean 命令可以删除还未加入版本仓库的文件。 git clean 默认情况下是不会删目录的,可以使用 git clean -f -d optional-dir-name-or-current-dir 连目录一起删除。git clean 的详细参数参见: git help clean

相关文章

  • 6 条 Git 实用技巧

    本文首次发表在 6 条 Git 实用技巧 -- 泰晓科技 本文汇总最近一段时间用到的几则 Git 实用小技巧,欢迎...

  • Git 实用小技巧

    清理远程仓库已删除、本地仍存在的远程分支。有时候远程仓库的某个分支已经被删除了,但是使用 git branch -...

  • git实用技巧

    作为一名有多年开发经验的老兵,版本控制从最开始的SVN到Git,用着还算顺手,今天总结下整理成文章,以便用时查阅,...

  • Git 实用技巧

    1. 撤销操作技巧 任何时候,你都有可能需要撤消刚才所做的某些操作。本段总结git中常用的撤销操作: 修改最后一次...

  • git实用技巧

    git切换/重新关联分支 重新跟踪远程文件 如下的命令,使用场景是,本地有原代码,但是没有与远程git做关联,或关...

  • 10+ 实用的 JavaScript 调试小技巧

    10+ 实用的 JavaScript 调试小技巧

  • 6.(矩阵的各种旋转)

    Matlab实用编程小技巧1000列之六

  • 查看某一行代码的修改历史

    git小技巧:git blame && git show 查看某一行代码的修改历史 $ git log -L st...

  • AI实用小技巧—制作旋转的小球

    你知道吗?AI有很多的实用小技巧,能帮助你快速创建自己想要的图形,Macdown小编给大家带来AI的实用小技巧之制...

  • git/svn 技巧以及常见问题整理

    Git 实用技巧 Git乱码问题解决方案汇总 常用快捷键 常见问题 遇到多个commit回滚的情况,采用方案如下 ...

网友评论

本文标题:Git 实用小技巧

本文链接:https://www.haomeiwen.com/subject/trmljttx.html