如何强制覆盖git拉
上的本地文件?
场景如下:
这是我遇到的错误:
错误:未跟踪的工作树文件“公共/图像/icon.gif”将被合并覆盖
如何强制Git覆盖它们?这个人是设计师——通常,我用手解决所有冲突,所以服务器有最新的版本,他们只需要在他们的计算机上更新。
警告:git清洁
删除所有未跟踪的文件/目录并且无法撤消。
有时,仅仅清洁f是没有帮助的。如果您有未跟踪的目录,还需要-d选项:
# WARNING: this can't be undone!
git reset --hard HEAD
git clean -f -d
git pull
警告:git清洁
删除所有未跟踪的文件/目录并且无法撤消。
首先考虑使用-n
(--dry-run
)标志。这将向您显示将删除哪些内容而无需实际删除任何内容:
git clean -n -f -d
示例输出:
Would remove untracked-file-1.txt
Would remove untracked-file-2.txt
Would remove untracked/folder
...
尝试以下操作:
git reset --hard HEAD
git pull
它应该做你想做的。
如果您有任何未被Git跟踪的文件(例如上传的用户内容),这些文件不会受到影响。
首先,运行fetch以更新所有源/
git fetch --all
备份您当前的分支:
git branch backup-master
然后,你有两个选择:
git reset --hard origin/master
或者,如果您在其他分支机构:
git reset --hard origin/<branch_name>
git fetch(git fetch)从远程下载最新版本,而无需尝试合并或重新设置任何基础。
然后,git reset将主分支重置为您刚才获取的内容。“硬”选项会更改工作树中的所有文件,以匹配原始/主文件中的文件
[*]:值得注意的是,在重置之前,可以通过从主控创建分支来维护当前的本地提交:
git checkout master
git branch new-branch-to-save-current-commits
git fetch --all
git reset --hard origin/master
在此之后,所有旧提交都将保留在新分支中,以保存当前提交。
但是,未提交的更改(即使是阶段性的)将丢失。确保隐藏并提交任何你需要的东西。为此,您可以运行以下操作:
git stash
然后重新应用这些未提交的更改:
git stash pop
我想推送我的本地文件,并将它们放在远程存储库上,而不必处理合并冲突。我只想让我的本地版本优先于远程版本。 我怎样才能用Git做到这一点?
问题内容: 是否可以强制重命名os.rename覆盖另一个文件(如果已经存在)?例如,在下面的代码中,如果文件Tests.csv已经存在,则将其替换为Tests.txt文件(该文件也已重命名为Tests.csv)。 问题答案: 您可以尝试: 或然后:
我正在使用安装我的python代码,使用 当我想要将我的代码的旧分支安装在新分支之上时,我遇到了一些问题:不会覆盖旧文件。一种方法是触摸()所有文件,因此它们必须比安装的文件更新,但这是非常难看的。 我正在寻找的是一个选项,以强制覆盖所有文件,例如。类似于 有什么想法吗?
我在学KINTER我有点困惑。下面的代码显示了face_recogniton()函数中的白色文本。 但文本重叠了。在显示新文本之前,如何清除它?
问题内容: 我想要一个目录,但是我不想覆盖任何现有文件,即使它们比复制的文件还旧。我想做到完全非交互式,因为这将是Crontab Bash脚本的一部分。有任何想法吗? 问题答案: 从手册页中获取: 例:
问题内容: 如何使dict的子类尽可能“完美” ?最终目标是要有一个简单的字典,其中的键是小写的。 看来应该有一些微小的原语可以重写以完成此工作,但是根据我的所有研究和尝试,似乎并非如此: 如果我覆盖,则get/ set不起作用。如何使它们工作?当然,我不需要单独实施它们吗? 我是否在阻止酸洗,我需要实施等吗? 我是否需要以及? 我应该只使用(似乎不应该使用)吗?如果是这样,怎么办?这些文档并不完