相关疑难解决方法(0)

Git - '假设未改变'和'跳过工作树'之间的区别

我对一个我不想提交到我的存储库的文件进行了本地更改.它是用于在服务器上构建应用程序的配置文件,但我想在本地使用不同的设置进行构建.当然,当我将'git status'作为要上演的东西时,该文件总是显示出来.我想隐藏这个特定的更改而不是提交它.我不会对文件进行任何其他更改.

经过一番挖掘后,我看到了两个选项:'假设未改变'和'跳过工作树'.这里的前一个问题谈到了它们,但并没有真正解释它们之间的区别.我的问题是:这两个命令有何不同?为什么有人会使用其中一个?

git git-index

400
推荐指数
3
解决办法
6万
查看次数

Git:用git clean排除文件

我正在开发一个大型python项目,如果.pyc和*〜文件,我真的很生病.我想删除它们.我已经看到-Xgit clean 的标志会删除未跟踪的文件.你可以想象,我不是跟踪.pyc也不是*~文件.那就是诀窍.问题是我有一个local_settings.py文件,我想在git clean之后保留.

所以,这就是我所拥有的.

的.gitignore:

*.pyc
*~
local_settings.py
Run Code Online (Sandbox Code Playgroud)

当我执行此命令时:

git clean -X -n -e local_settings.py
Run Code Online (Sandbox Code Playgroud)

我得到这个结果列表:

将删除local_settings.py
将删除requirements.txt~
将删除(其他一堆)〜文件
将删除(其他一堆)pyc文件

我不想删除local_settings.py文件.我已经尝试了很多方法来做到这一点,但我无法弄清楚如何完成它.

git clean -X -n -e local_settings.py
git clean -X -n -e "local_settings.py"
git clean -X -n --exclude=local_settings.py
git clean -X -n --exclude="local_settings.py"
Run Code Online (Sandbox Code Playgroud)

似乎没有任何工作.

编辑:

对于后代,正确的方法是(谢谢@Rifat):

git clean -x -n -e local_settings.py # Shows what would remove (-n flag)
git clean -x -f -e local_settings.py # Removes it (note the -f …
Run Code Online (Sandbox Code Playgroud)

git version-control git-clean

34
推荐指数
3
解决办法
2万
查看次数

标签 统计

git ×2

git-clean ×1

git-index ×1

version-control ×1