我有我的团队工作的存储库,其中有一些文件被跟踪但可能在本地更改,如.exe文件,这是编译的影响,但只有在发布完成后才应检查。另一个是makefile.mk,其中我设置了一些本地选项,很少进行我需要提交的更改。通常这个文件与存储库版本不同,这是可以的。因此,这些文件被跟踪,无法放入.gitignore
但让git pull origin
因为覆盖对这些文件的更改而哭泣(错误:对以下文件的本地更改将被合并覆盖)。我尝试将*.exe~
放入.git/info/exclude
(以及.mk)并运行git update-index --no-assume-unchanged that.exe
,以便git status
不再显示它们,但即使使用{{1 }}。我读过某个地方使用-f
我试过了。现在没有人知道如何更新我的回购。
答案 0 :(得分:0)
如何保留已跟踪的修改文件并使GIT在本地忽略其更改?
Git无法同时跟踪和忽略文件;它没有任何意义。
从Git(git rm --cached that.exe makefile.mk
)中删除文件,将其名称添加到.gitignore
并提交。
制作makefile.mk
(假设为makefile.mk.example
)的副本,为从一个开发环境更改为另一个开发环境的值提供合理的默认值,并将其添加到存储库中。
记录此更改,让任何开发人员知道如何在克隆回购时获得自己的makefile.mk
。
答案 1 :(得分:0)
对于您的第一个问题,您可以使用该命令。
public class Player {
private static List<Player> players = new ArrayList<>();
private String name;
public Player(String name) {
this.name = name;
for (Player otherPlayer : players) { // Iterating static field
if (otherPlayer.name.equalsIgnoreCase(name)) {
otherPlayer.quit("Somebody with the same name joined the game");
}
}
}
public void quit(String message) {
players.remove(this); // Modifying static field
Server.disconnect(this, message);
}
}
rm 是要删除的。
对于第二个问题,您可以找到答案here