首页 > 自考资讯 > 高考百科

如何优雅的使用git?(如何优雅的使用wallpaper engine)

小条 2024-10-14

我曾经看到一个非常有趣的网站——天哪,Git!

本网站总结了Git初学者在使用Git时常见的一些各种紧急情况,并提供了周到的解决方案。

快速浏览了一下,我发现本文提到的一些问题实际上是大多数初学者都会遇到的问题。我简单翻译了一下,希望对你有帮助。

注:为了让场景描述更清晰,描述中添加了两个角色:新手女神和高级舔狗者。

女神:哎呀,我刚刚犯了一个错误,我该如何重试呢?

女神别慌。 Git 的伟大之处在于它提供了时间机器效果,允许您自由地浏览项目的历史代码。

如果您不小心损坏了项目中的某些内容,您可能需要尝试以下命令行:

$ git reflog 该命令可以列出Git上的所有操作记录。只要找到HEAD@{index}开头对应的操作索引,使用如下命令即可:

$ git Replace HEAD@{index} 注意:如果使用,必须将HEAD@{index} 替换为对应的索引。

女神:本来想改点小东西,结果代码不小心就犯了。我应该怎么办?

这很容易。首先,添加当前修改的代码。

$ git add 。然后运行以下命令将添加的代码合并到上次提交中。

$ git commit --amend 女神:哼!之前写的commit历史还不够,所以想重写一下!

现在,让我们运行上面的代码。您可以重写您的发送历史记录。

$ git commit --amend Goddess:这太糟糕了。我不小心将代码从新分支提交到主分支。

女神,别着急,我们会一步一步来的。首先,创建一个新分支(some-new-branch-name)。

运行$ git Branch some-new-branch-name 从主分支中删除先前的提交。

$ git Replace HEAD~ --hard 注意,上面的代码只切换到最后的提交记录。如果您已经移动到另一个提交记录怎么办?没问题。您可以使用git Replace HEAD@{number} 重试。

运行返回后,切换到新分支。

$ git checkout some-new-branch-name 好的,主分支现在已经干净了,意外提交的代码已移至新分支。

请注意,以上代码仅对本地仓库有效。如果您将代码发送到远程仓库,您需要与您的队友讨论解决方案。

什么?我是你的队友吗?我对此感到非常高兴但是没关系。稍后,在线重置主分支并按-f 。没关系。

女神:完成了。我将代码提交到了错误的分支!

别害怕,别害怕,有我在。

首先,恢复上次提交,但保留更改的代码。

通过运行$ git Replace HEAD~ --soft$ git stash 并切换到正确的分支来提交(正确分支的名称)来提交修改后的代码。

$ git checkout name-of-the- Correct-branch$ git stash Pop$ git add .$ git commit -m 'Message here' 好的,你就完成了。

如果想做更高级的操作,还可以使用cherry-pick命令来完成上述操作。具体步骤如下。

首先,切换到正确的分支。

$ git checkout name-of-the- Correct-branch 并使用cherry-pick 获取最新的提交记录。

$ git Cherry-pick master 最后删除master分支的提交错误记录。

$ git checkout master$ git replacement HEAD~ ----硬女神:嗯?为什么我运行diff 时没有得到任何结果?

在这种情况下,肯定是因为该文件没有添加到临时存储中。解决方案很简单。将文件添加到临时存储或直接使用以下命令:

$ git diff --staged 这样你就可以看到没有保存到暂存区的文件的diff 效果。

女神:这个工程怎么这么麻烦!很烦人!我不会再玩了!

不要生气,不要生气,不要生气,你的健康会恶化,对吗?

如果您的本地代码存储库变得一团糟,请不要担心。使用以下技巧可以一键停止您的存储库。

$ cd .$ sudo rm -rfucking-git-repo-dir$ git clone https://some.github.url/fucking-git-repo-dir.git$ cdfucking-git-repo-dir 是的,这是一个备胎(在线使用仓库(仓库)的好处是,只要你还剩下一个备胎,你就可以随意删除本地仓库,克隆备胎,重新开始。

女神:好的,没问题,谢谢~

不不不,这还有问题吗?请访问以下网站了解更多信息。

版权声明:本文转载于网络,版权归作者所有。如有侵权,请联系本站编辑删除。

猜你喜欢