繁体   English   中英

有人从git存储库中取消跟踪文件。 Git Kraken用户在提取最新提交时如何将文件保存在本地?

[英]Someone untracked a file from a git repo. How can the Git Kraken users keep the file locally when they pull the most recent commit?

我使用git rm --cached myFile.txt从git repo git rm --cached myFile.txt跟踪文件

使用命令行,这很好,myFile.txt仍然存在,现在未跟踪。 推送提交后,其他使用Git Kraken GUI的用户希望获取最新的提交。 但是,Git Kraken将myFile.txt显示为已删除,并且在提取时,myFile.txt从其工作目录中删除了。 最新提交删除该文件时,他们如何将myFile.txt保留在其工作目录中?

我无法找到一种使用Git Kraken将文件保存在本地的方法,但是它们只能在命令行上打开git,但是我不确定要使用哪些命令来保存本地文件,并让它们在被跟踪时不被跟踪fetchpull最新提交。

从接收更改的用户的角度来看,下一次提交似乎将“删除此文件”指定为下一个所需更改的一部分。 在提交中,实际上并没有办法将“取消跟踪此文件”作为一种单独的更改类型进行区分。

我假设您还将该文件添加到了.gitignore ,如果没有添加,似乎在这种情况下就想这样做。 有了这个想法,我想如果git可以告诉一个删除的文件,“嘿,这个提交也将路径添加到.gitignore ,所以我认为它们只是意味着要对其进行跟踪”,可能会很好。 但这仍然是无法确定git的假设,在这种情况下,保持行为简单可能是最好的。 无论好坏,这都是这样做的。

因此,基本上每个拉动您要在其中取消跟踪文件的提交的用户都将必须采取一些特殊步骤将文件保留在(或重新放入其)工作树中。

现在,似乎每个人都有相同的文件,而正是在取消跟踪之前,提交中的版本。 (否则,未提交的本地更改会给每个用户造成问题。)在这种情况下,您可以执行类似标记带有文件的最后一次提交的操作; 然后让所有人都知道,在请求删除文件后,他们应该执行以下操作

git checkout myTag -- myfile.txt
git rm --cached myfile.txt

另一方面,也许您正在取消跟踪文件, 因为持续不断的未提交的本地更改正在给每个开发人员带来问题。 在这种情况下,您必须提前警告所有人-“嘿,下次您拉git时,它将尝试删除此文件。如果您未提交更改,则会引发冲突。您需要将文件移出方式,让它完成检出,然后放回您的文件” –在这一点上,我再次假设您将有一个忽略规则

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM