Git实用技巧和命令总结
1、Git diff通常情况下,我们会在自己的独立分支中完成需求开发,此时就会有需求将自己的分支和其他分支进行对比,这个功能可以通过git diff branch1 branch命令来实现。
2、恢复暂存区如果已经将一些文件添加到暂存区后又后悔了,Git 提供了多个命令来实现这个功能,具体需要根据当时情况而定。git rm path/to/file --cached这个命令将文件从暂存区索引中删除,但是仍然会将文件保留在工作目录。这比直接使用git rm file -f完全删除文件会安全一点。
3、Git reset如果希望恢复一些已经提交的改动,我们可以使用git reset这个命令可以完成许多不同的行为,因此需要按阖嚏逵藩照实际场景进行使用。如果希望去除所有修改,包括索引中的内容和工作目录中的修改,那么可以使用git reset --hard如果仅仅是希望重置索引,那么可以使用git reset --mixed这也是git reset命令的默认行为。混合的重置会保留当前工作目录中的改动。最后,如果仅仅希望修改分支的 HEAD,可以通过git reset --soft来实现。
4、Git stash大家应该对git stash命令并不陌生,它可以通过git stash pop命令方便的将之前的改动恢复回来。然而,如果工作目录中有未追踪的文件,默认情况下是不会将其存入临时储藏区的。为了能够临时保存未追踪的文件,可以使用git stash --include-untracked另外一个非常有用的命令是git stash list它能列出临时储藏区中的内容。
5、历史记录Git 自带了非常强大的工具来查看项目以及特定文件的变更情况。我个人非常喜欢用其中的一个命令:git log --graph --decorate --onelin髫潋啜缅e它可以用于展示经过修饰的提交历史。这个命令非常冗长,因此我建议可以为它创建一个别名(这可能是所有技巧中最有用的,因为许多命令都比较难记)。git log 命令可以显示 HEAD、所有提交的 ID 以及分支信息。有了这些信息之后,我们可以使用git show COMMIT_ID/HEAD/BRANCH来显示更详细的信息。
6、修复错误提交注意:以下一些命令会修改提交历史,使用前请确保了解后再执行。当提交出错时,我们可能会希望能够修改提交历史。我不建议修改已经推送到远程仓库的提交历史(即使 git 允许这样做),但是对于本地仓库的提交历史,我个人认为还是可以修改的。通过git commit --amend可以删除前一次提交,并创建一个新的提交记录以替代之前的提交。