它总是发生在我身上.我不小心版本文件,我不想被版本化(即开发人员/机器特定的配置文件).
如果我提交这个文件,我会搞乱所有其他开发者机器上的路径 - 他们会不高兴.
如果我从版本控制中删除该文件,它将从其他开发者机器中删除 - 他们会不高兴.
如果我选择永远不提交文件,我总是有一个"脏"的结账 - 我不开心.
是一种干净的方法来"修改"来自修订控制的文件,这会导致没有人感到不快乐吗?
编辑:尝试澄清一点:我已经将文件提交到存储库,我只想将其从版本控制中删除 - 我特别不希望它从每个人进行结账时被物理删除.我最初希望它被忽略.
答:如果我能接受第二个答案,那就是这个.它回答了关于git的问题 - 接受的答案是关于svn.
当分支重新集成到主干时,该分支是否有效死亡?
重新集成后可以对分支进行修改,并在以后将它们合并到主干中吗?
我试图排除subversion的文件夹被git跟踪.我为.git/info/exclude尝试了几种不同的设置,但它似乎不起作用.我会使用git-svn,但要求访问权限让它起作用很麻烦,所以我宁愿通过排除文件夹来解决这个问题.
我想排除".svn/entries"
我已经尝试将以下行添加到.git/info/exlude:.svn条目.svn/entries 条目 svn
无论我尝试什么,当运行git status时,.svn条目都会出现
根据文件:
(mc)我的冲突 - 为所有冲突接受我的版本(相同)
(tc)他们的冲突 - 接受所有冲突的版本(相同)(mf)mine-full - 接受我的整个文件版本(甚至是非冲突)
(tf)theirs-full - 接受他们整个文件的版本(相同)
我不明白*-conflict和*-full命令之间的区别.看起来它会得到相同的结果.
谢谢!
有关此问题的详细回复,请参阅此主题.
虽然不知何故精通VCS(常规的svn,git和git-svn用户),我似乎无法围绕这种奇特的SVN行为.
每当我需要重新命名我的SVN工作副本中的目录时,从其他'干净'状态 - 即svn status返回任何内容并且所有其他修改都已被提交 - 就像这样(这是svn doc建议的):
svn mv foo bar
svn commit
Run Code Online (Sandbox Code Playgroud)
SVN大声抱怨:
Adding bar
Adding bar/toto
Deleting foo
svn: Commit failed (details follow):
svn: Item '/test/foo' is out of date
Run Code Online (Sandbox Code Playgroud)
如你所愿:
svn update
Run Code Online (Sandbox Code Playgroud)
这使:
C foo
At revision 46.
Summary of conflicts:
Tree conflicts: 1
Run Code Online (Sandbox Code Playgroud)
存在树冲突,而没有发生第三方更改.显然,摆脱这种树冲突混乱的唯一方法是一般(来自svn红皮书):
svn resolve --accept working -R .
svn commit
Run Code Online (Sandbox Code Playgroud)
在repo上远程重命名它然后更新我的工作副本似乎很头脑:
url=$(svn info | grep -e '^URL:' | sed 's/^URL: //') svn mv $url/foo $url/bar
svn update
Run Code Online (Sandbox Code Playgroud)
是否有一个受制裁的,更简化的方法来重命名我缺少的文件夹?特别令人惊讶的树木冲突状态背后的根本原因是什么?
注意:对于经验丰富的SVN用户来说,这可能是一个明智的选择,但它让我困扰了很长一段时间......所以这里希望这会对像我这样的人有所帮助!
svn log从命令行发出后,我注意到最近几个提交消息丢失了.我知道这些消息已正确保存在我的存储库中,因为它们出现在我的SVN客户端(RapidSVN)中.我无法弄清楚为什么使用svn的命令行版本看不到它们.
答案如下......
自从升级到最新版本的Windows,同时使用tortoiseSVN将任何文件与其基本版本[TortoiseMerge]进行比较时,我注意到了一个巨大的延迟(只是坐在那里无所事事).
我在快车道上并且在一个月前得到了坠落创造者的更新,并注意到了这一点,所以我又回来了,它就消失了.在它点击RTM后,我认为这是固定的,但显然我错了.
我的意思非常慢?
Before fall creators update: <1 second
After: A minute or 2, as long as it takes..and that's just for comparing 1 file.
Run Code Online (Sandbox Code Playgroud)
我只是去阅读一篇文章或其他内容,等待在任务栏中弹出tortoiseMerge图标.
Repo在我的桌面上 - 客户端在我的笔记本电脑上 - 同一个网络.
有类似经历的人吗?有人找到了解决方法吗?
编辑:问题与TortoiseMerge有关,而不是TortoiseSVN或SVN本身 - 我转而使用Beyond Compare,它现在运行良好.
我看到可以使用proplist和-R标志(递归)和-v标志(详细)查看SVN存储库中每个目录上设置的属性列表:
svn proplist -Rv
Run Code Online (Sandbox Code Playgroud)
这显示了所有属性,例如svn:mime-type或svn:executable.我想过滤这个只是svn:ignore属性.我确信有一些方法可以通过一个shell命令来管理这个命令的结果,这个命令只能显示我感兴趣的行,但是我无法弄清楚如何去做.作为最有用的东西类型的例子是这样的某种类型的命令(但是这个不起作用!).
svn proplist -Rv | grep "^ svn:ignore" | awk "{print \$1}"
Run Code Online (Sandbox Code Playgroud)
我只是不太了解像grep和awk这样的shell命令,这对我有用.这只是一遍又一遍地显示"svn:ignore",但它不会打印出目录路径或svn:ignore属性的内容.以下是我想要获取的"svn proplist -Rv"输出的示例,其中'cache'是路径,'*'是属性的值.
Properties on 'cache':
svn:ignore
*
Run Code Online (Sandbox Code Playgroud)
如何使上述命令起作用和/或是否有更好的方法来查看svn:ignore我的存储库中的所有属性?
在使用eclispe和subclipse插件时,我经常遇到此错误:
Unable to load default SVN Client
Run Code Online (Sandbox Code Playgroud)
我已经安装了SVNKit和JavaHL提供程序,但在首选项中找不到它:
我正在使用eclipse for win64bit
svn ×10
git ×2
awk ×1
branch ×1
directory ×1
eclipse ×1
grep ×1
merge ×1
rename ×1
subclipse ×1
tortoisesvn ×1
versioning ×1
windows-10 ×1