我们检查一切
git diff - 在本地查看所有文件更改。指定文件名时,将仅显示更改。
git log - 查看提交历史记录。它也可以用于带有git log -p my_file的文件。输入q退出。
git blame my_file - 查看my_file中的更改者,内容和内容。
git reflog - 在本地存储库头中显示更改日志。搜索丢失数据的绝佳选择。
按原样旋转
git reset,git checkout和git revert是用于撤消任何操作的命令。但它们并非如此简单,它们必须能够处理它们。
git reset,git checkout既可用于提交,也可用于常规文件。
git revert仅用于处理提交。
如果您使用与团队工作无关的本地提交,则可以轻松使用所有列出的命令。
如果您在团队中工作并且提交很常见,那么您的选择就是git revert。
每个团队都有一整套选择。以下是最常用的:
git reset --hard HEAD - 取消自上次提交以来的索引和非索引更改。
我们指定一个特定的提交来取消之后发生的更改,而不是HEAD。 --hard丢弃上述两种类型的更改。
不要忘记确保不从远程分支取消提交,团队的其他成员依赖该远程分支。
git checkout my_commit - discard更改my_commit。
自上次提交以来,HEAD通常用于my_commit以丢弃本地工作目录中的更改。
结帐最适合本地取消。在这种情况下,来自您的同事所依赖的远程分支的提交不会受到影响!
如果将checkout与分支而不是提交一起使用,HEAD将切换到指定的分支,并更新工作目录以反映更改。这是此命令的最常见用法。
git revert my_commit - 撤消对my_commit的更改的影响。撤消更改后,revert会执行新的提交。
对于常见项目,revert是安全的,因为团队不会覆盖其他线程可能依赖的更改。
有时您只想删除本地目录中未跟踪的文件。例如,通过运行一些代码来创建您不需要的许多不同类型的文件。不幸的是。清洁将有助于立即删除它们!
git clean -n - 删除本地工作目录中未跟踪的文件。
-n - 用于测试运行的标志,不删除任何内容。
-f - 删除文件的标志。
-d - 删除未跟踪目录的标志。
默认情况下,不会删除未跟踪的.gitignore文件,但可以更改此文件。
设定订单
git commit --amend - 为最后一次提交添加增量更改。
如果没有索引,则该命令允许您编辑提交的最后一条消息。仅当提交未与远程主分支合并时,才使用该命令。
git push my_remote - tags - 将本地标签发送到远程存储库。分配更改版本的好选择。
Git命令的语言标签
这里有一种方法可以让您为.bash_profile添加Git命令的快捷方式。
别名gs ='git status'
alias ga ='git add'
alias gaa ='git add -A'
别名gb ='git branch'
别名gc ='git commit'
别名gcm ='git commit -m'
别名go ='git checkout'
有关.bash_profile的更多信息,请访问此处。
至于上面的方法,您现在可以使用gs而不是git status。