n a*_*n a 5 merge mercurial xcode hgignore
Mercurial noob在这里.我在处理mercurial和xcuserdata和.ds_store以及.git等文件时遇到了很多麻烦.我的智慧结束了.
目前的设置有一个中间回购,就像一个中间人.我们推动并拉动它的变化.
之前推送的提交包括在创建.hgignore文件之前包含不需要的文件(xcuserdata,git,ds_store).这引起了噩梦.
我尝试了什么:
我试图忽略这个问题并让合并处理它,但是由于冲突导致每次推送导致中央仓库上的分支(推送中的冲突没有在终端中显示,所以我没有机会在推送时合并)和腐败项目文件,它导致合并工具如filemerge和kdiff3挂起.
我尝试制作一个本地的.hgignore文件并使用hg忘记xcuserdata来停止跟踪那些东西,但它仍然推送并拉出那些不需要的文件.
我想要发生什么:
我希望中央仓库删除那些不需要的文件.每个开发人员仍应拥有自己的本地版本的这些文件.新提交将忽略这些文件.我该怎么做?
谢谢
只需hg forget将要删除的文件并将其推送到服务器即可。下次团队的其他成员从存储库中提取文件时,这些文件也将被遗忘。
请注意,这只forget适用于当前分支,如果您有其他分支,则必须在每个分支上执行此操作。
要自动忘记 中包含的所有文件.hgignore,您可以这样做
hg forget "set:hgignore()"
Run Code Online (Sandbox Code Playgroud)
确保团队的每个部分都知道您对这些文件的决定,否则他们将来可能会再次添加这些文件。沟通是这里的关键!
仅供参考,.hgignore对文件没有任何影响,它只影响未添加的文件。
否则,如果您确实想从历史记录中完全删除该文件,您可以使用 MQ 扩展,但这是另一个故事,恕我直言,它更加复杂且无用。
| 归档时间: |
|
| 查看次数: |
1293 次 |
| 最近记录: |