10 个迅速提升你 Git 水平的提示【转】

  • 时间:
  • 浏览:0
  • 来源:大发彩神幸运飞艇_大发神彩幸运飞艇官方

顶 翻译的不错哦!

输入 s 来分割该块

顶 翻译的不错哦!

*.exe

curl https://raw.github.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash

2

    . ~/.git-completion.bash

git cherry-pick [commit_hash]

当事情出错时,先去指责别人是人类的天性之一。可能性你的产品服务器挂了,使用git blame命令都还能否 很容易找出罪魁祸首。许多命令都还能否 将文件中的每一行的作者、最新的变更提交和提交时间展示出来。

在朋友许多例子中,最终是希望分割成更小的要素,否则有选泽的打上去可能性忽略其中一要素。

1

否则再看看在 add 命令中打上去 -p 参数是要怎样的?

顶 翻译的不错哦!

希望检查stash列表,否则你运行下面的命令:

这里否则你看了丢掉的提交。否则你通过运行 git show [commit_hash] 查看提交已经 的改变可能性运行git merge [commit_hash] 来恢复到已经 的提交。

当你提交代码进行代码审查时可能性创建一次pull request (这在开源项目中一十个 劲占据 ),你的代码在被接受之都是被要求做许多变更。于有你在身边进行了变更,否则直到下一次审查已经 你这麼 再次被要求进行变更过。在你知道又要进行变更已经 ,你可能性有了许多额外的commit。理想情況下,否则你用rebase命令把多个commit压缩成一十个 多。

尽管早些已经 朋友可能性提到许多,否则强调的欠缺充分。可能性你想使用git的完整篇 功能底部形态,

你绝对应该切换到命令行界面!

顶 翻译的不错哦!

尽管 reflog 是唯一检查丢失提交的法律法律依据。但它都是适应用于大型的仓库。那本来我 fsck(文件系统检测)命令登场的已经 了。

2

可能性你你会压缩最后一十个 多commit,你时要运行下列命令。

我切换到想被cherry-pick应用到的许多分支上去,否则运行了如下命令:

顶 翻译的不错哦!

顶 翻译的不错哦!

可能性你你会解除stash否则恢复未提交的变更,否则你进行apply stash:

简而言之,cherry-pick本来我不需要说同的分支中捡出一十个 多单独的commit,并把它和你当前的分支合并。可能性你以并行法律法律依据在防止一十个 多或以上分支,你可能性会发现一十个 多在全要素支中都是的bug。可能性你在一十个 多分支中防止了它,否则你使用cherry-pick命令把它commit到其它分支上去,而不需要弄乱许多的文件或commit。

1

my_db_config/

输入 y 来暂存该块

--oneline- 压缩模式,在每个提交的旁边显示经过精简的提交哈希码和提交信息,以一行显示。

cd ~

朋友来演示一下在 file_name 文件中打上去了3行文字,但只想提交第一行和第三行。先看一下 git diff 显示的结果:

1

5

3

输入 d 退出可能性转到下一十个 多文件

本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/sky-heaven/p/5357389.html,如需转载请自行联系原作者

上一节朋友可能性学习了要怎样使用 git log ,不过,这里还一十个 多多你应该知道的选项。

把什么选项组合起来已经 ,输出看起来会像这麼 :

3

if -f ~/.git-completion.bash ]; then

你是都是很烦什么编译过的文件 (比如 .pyc) 总出 在你的 Git 仓库中?可能性说你可能性受够了可能性把它们都打上去了 Git 仓库?好了,这有个法律法律依据都还能否 否则你告诉 Git 忽略掉什么特定的文件和文件夹。只时要创建一十个 多名为 .gitignore 否则列出什么你不希望 Git 跟踪的文件和文件夹。你还都还能否 打上去例外,通过使用感叹号(!)。

顶 翻译的不错哦!

2

尽管朋友这次完成了一次干净的cherry-pick,你也应该意识到许多命令可能性会产生冲突。本来用它时请无比小心。

然都是要求你为新的commit录入提交信息。许多过程本质上重写了你的commit历史。

我希望你使用命令行工具运行Git命令,这麼 每次手动输入各种命令是一件很令人厌烦的事情。

为了防止许多问题图片图片,否则你启用Git的自动补全功能,完成这项工作仅时要几分钟。

为了得到许多脚本,在Unix系统下运行以下命令:

我把最优雅的Git命令留到了最后。cherry-pick命令是我目前为止最喜欢的git命令,既是可能性它的字面意思,也可能性它的功能。

git stash apply stash@{2}

顶 翻译的不错哦!

正如你所看了的,朋友打上去了第一行和第三行而忽略了第二行。已经 否则你查看仓库情況已经 并进行提交。

1

git rebase -i HEAD~[number_of_commits]

假设你不小心提交了些你不你会的东西,不得不做一次强制重置来恢复到已经 的情況。否则,你意识到在许多过程中你丢失了其它许多信息否则你会把它们找回来,可能性合适瞅一眼。这正是git reflog都还能否 做到的。

!main.pyc

git fsck 相对reflog是有优势的。比方说你删除一十个 多远程的分支否则关闭仓库。 用fsck 否则你搜索和恢复已删除的远程分支。

输入 e 手工编辑该块

在下面的截图中否则你看了命令是要怎样在更大的目录中搜寻。

然而,一十个 多git reflog命令则展示了一次commit (b1b0ee9–HEAD@{4}),它正是我刚才进行强制重置时弄丢的:

一十个 多简单的git log命令都还能否 为你展示最后一次commit,以及它的父亲,还有它父亲的父亲等等。而git reflog则列出了head这麼 指向过的一系列commit。要明白它们只占据 于你本机中;而都是你的版本仓库的一要素,本来我含高在push和merge操作中。

顶 翻译的不错哦!

累似 你对一十个 多文件进行了多次修改否则想把朋友分别提交。许多情況下,否则你在 add 命令中打上去 -p 参数

顶 翻译的不错哦!

说着说着就到了文章的最后,我认为什么技巧会否则你的 Git 水平提升到一十个 多新的角度。Git 是最棒的,它几乎能实现你所能想到的事情。否则,要一十个 劲挑战本人的Git水平。最后你很有可能性会学到新的东西。

让朋友来设想一十个 多用得着它的场景。我现在一十个 多多分支,否则我时要cherry-pick b20fd14: Cleaned junk 许多commit到这麼 后边去。

一般情況下,创建一十个 多基于底部形态的提交是比较好的做法,意思是每次提交都时要代表一十个 多新底部形态的产生可能性是一十个 多bug的修复。可能性你修复了一十个 多bug,或是打上去了多个新底部形态否则却这麼 提交什么变化会要怎样呢?在许多情況下,否则你把什么变化放进去去一次提交中。但更好的法律法律依据是把文件暂存(Stage)否则分别提交。

输入 n 不暂存

4

fi

运行该命令时,否则你看了一十个 多交互界面,列出了许多commit否则你选泽什么时要进行压缩。理想情況下,你选泽最后一次commit并把其它老commit都进行压缩。

1

看上去,Git 假定所有的改变都是针对同一件事情的,否则它把本来放进去去了一十个 多块里。你有如下有哪几个选项:

你正在修改某个bug可能性某个底部形态,又一十个 劲被要求展示你的工作。而你现在所做的工作还欠缺以提交,许多阶段你还无法进行展示(不需要 回到更改已经 )。在许多情況下, git stash都还能否 帮助你。stash在本质上会取走所有的变更并存储它们为以备将来使用。stash你的变更,你只需简单地运行下面的命令-

可能性我运行git log命令,我时要看了许多commit,它们都是我仓库的一要素:

--graph- 图形模式,使用该选项会在输出的左边绘制一张基于文本格式的历史信息表示图。可能性你查看的是单个分支的历史记录语句,该选项无效。

1

否则,打上去下面几行到你的 ~/.bash_profile 文件中:

在屏幕截图中,否则你看了每个stash都是一十个 多标识符,一十个 多唯一的号码(尽管在许多情況下朋友只一十个 多多stash)。可能性你只想留有余地进行apply stash,你应该给apply打上去特定的标识符:

--all- 显示所有分支的历史记录

*.pyc