从轨道上用核武器攻击本地Git分支的最佳实践



我目前正在教我的一些同事Git。他们都是艺术家,他们中的大多数人可能永远不需要提交文件。然而,对他们来说,能够获得项目的最新版本并测试情况是很有价值的。

他们中的许多人都遇到了一个月前最后一次退出项目并测试了一些东西的问题,但当他们需要将项目更新到最新的主版本时,他们会遇到一系列合并冲突。我想给他们一个简单的命令,让他们可以运行,基本上说"我不在乎我做的任何更改,我只想回到master",这样他们就可以在没有错误的情况下进行git pull。

当我使用git时,我通常会使用:

git add -Agit stash

然而,现在我正在向其他人教授git,我想确保我不会引导他们走上糟糕的道路。我已经看到了使用git resetgit checkout的其他建议,但有没有一种公认的最佳方式来表达"我不在乎我的更改,把它们从气闸中炸出来"?

如果您真的想放弃所有本地更改,那么:

git fetch && git reset --hard origin/master

请注意,这不会像隐藏命令那样创建本地更改的备份,因此任何本地更改都将丢失且不可恢复。

然而,对于有提交访问权限的人来说,更好的工作流程是避免出现从存储库中提取数据的人必须重置本地回购的情况。要做到这一点,需要确保master只向前移动,用户不能强制推送到master,并确保自动生成的文件在gitignore中。

git checkout . && git pull origin master

详细介绍

放弃最新的更改:gitcheckout。

接收来自主原点的更改:git pull原点主

最新更新