我有一个本地仓库,我在那里放了一个文件'注意'我在那里保留一些关于我自己的观察和关注的文字。当我提交并推送到远程仓库时,我必须删除该文件。在我最初进行提交之前,我运行了git rm --cached notes
,但这显然不起作用,因为我推送笔记文件出现在github上。
所以我在本地做的就是再次运行rm
(不知何故,这次运作)并且做了一个
git commit --amend
然后git show --stat --oneline HEAD
,我注意到笔记已被删除。
但是现在为了推动我必须将远程更改合并到我的本地仓库,因为
更新被拒绝,因为您当前分支的提示已落后 它的远程对手。
所以我开了一个拉,但这也失败了:
CONFLICT(修改/删除):在HEAD中删除并在5bfdf中修改的注释....
如果只是在本地和远程删除此提交中的备注文件,我需要做什么?
答案 0 :(得分:1)
当我提交并推送到远程仓库时,我必须删除文件
如果您不想提交文件但仍然可以在本地修改它,请使用
https://git-scm.com/docs/git-update-index
--assume-unchanged
强> git update-index --assume-unchanged <path>
如果您需要打印标有--assume-unchanged
标志的文件列表:
git ls-files -v|grep '^h'
如果只是在本地和远程删除此提交中的备注文件,我需要做什么?
首先从服务器提取任何更改,然后进行更改。
git pull origin <branch>
git add -A .
git rm --cached notes
git commit -m ...
git push origin <branch name>
答案 1 :(得分:0)
当然有我的朋友,看看这两个链接:
- An article关于解决git冲突。有一个特定段落供你发行。
- Another post关于大量建议的相同问题。
我自己的建议是获得合并工具或使用现有的GIT工具,这将使您的生活更轻松。
祝你好运答案 2 :(得分:0)
git pull
。这将从回购中提取笔记。git rm -f notes
git commit
git push
基本上目的是让本地和远程同步,然后删除“备注”文件。