在过去的几年中,git已经大大成熟,成为最常用的版本控制系统之一。它被各种语言和各种规模的团队开发人员使用,从小型开源项目到像Linux内核这样的庞大代码库。
git log --no-merges
这个git命令显示整个提交历史记录,但是会跳过合并两个分支的提交或解决合并冲突。这使您可以快速查看对项目所做的所有更改,而无需合并提交混乱的git历史记录。
git revert--no-commit [commit]
Git还原生成一个新的提交,撤销现有提交所做的更改,并生成一个新的提交结果内容。如果你想恢复命名的提交,并避免自动提交,你可以使用标志 --no-commit或简写-n。
git diff -w
Git diff显示两个提交,两个工作树或磁盘上的两个文件之间的变化。当多个人在同一个项目上工作时,由于文本编辑器的选项卡和空间设置,经常会有变化。为了在比较行时忽略由空白引起的差异,可以将其与-w标志一起使用。
git diff --stat
显示每个文件如何随时间而改变。您可以添加3个参数:用于覆盖默认输出宽度的宽度,用于设置文件名宽度的名称宽度以及用于将输出限制为第一行数的计数。
git reset --soft HEAD^
在不触摸索引文件和工作树的情况下将头重置为某个提交。在这个提交之后所做的所有更改都将移至“提交阶段”。之后,你只需要运行git commit将它们添加回来。
git stash branch [branch-name] [stash]
这个命令创建一个名为branch-name的新分支并将其检出,然后将给定的存储中的更改应用到它并删除存储。如果没有储存,它使用最新的一个。这使您可以将任何隐藏的更改应用到更安全的环境中,稍后可以将其合并到主环境中。
git branch -a
它显示了所有远程跟踪和本地分支的列表。您可以使用--merged标志仅查看完全合并到主分支的分支。这样你可以跟踪你的分支,找出哪些不被使用了,可以删除。
git commit --amend
用git commit --amend你可以改变你以前的提交,而不是做一个新的。如果您没有将更改推送到远程分支,则可以使用此命令修改最近的提交,添加最新的更改,甚至更改提交消息。
git pull --rebase
Git pull --rebase强制git先拉出更改,然后重新绑定最新版本的远程分支上的unpushed提交。 --rebase选项可用于通过防止不必要的合并提交来确保线性历史记录。
git add -p
当你使用这个命令,而不是立即添加所有的改变到索引,它会经历每个变化,并询问你想要做什么。这样,它可以让你交互地选择你想要承诺的东西。
领取专属 10元无门槛券
私享最新 技术干货