我正在使用命令行SVN客户端(出于速度原因)并且有一个我希望在每次提交时忽略的文件更改列表(很像TortoiseSVN).有没有办法提交除特定更改列表之外的所有文件,或者只提交不在更改列表中的所有文件?
谢谢
git可以提交一些文件的空版本吗?相关的例子是,我需要先添加新的(未跟踪)文件,并承诺为空文件,从而为他们的内容标记为新的,进行审查(完整的,未跟踪文件应该不会被添加到索引; git diff应该通过将文件与其提交的空版本进行比较来显示新添加的内容.
有一个git add -N file…,它file在索引file 中添加了一个空内容,但这只会说会添加,并git commit抱怨该文件尚未添加.问题是当前的非空版本不是必须添加的,而只是新文件的空版本.
有没有办法做到这一点?
PS:这个问题是在一个自动将文件添加到git存储库的程序的上下文中询问的(我的程序遵循学生编写的代码).未提交的代码是我尚未批准的代码.因此,即使我的程序刚刚在其主目录中找到一个新的非空程序,学生创建的程序启动的状态应该是空状态.这是通过在git存储库中自动提交任何新学生程序文件的新的空版本来处理的.因此,与上次提交的git修订版相比,它们编写的新代码行显示为新添加的内容.
我想知道是否有可能逐步构建git提交消息,记录我在进行代码更改时正在做的事情:
有没有内置到git中的机制来做到这一点?
rspec中的事务夹具阻止调用after_commit,但即使我禁用它们也是如此
RSpec.configure do |config|
config.use_transactional_fixtures = false
end
Run Code Online (Sandbox Code Playgroud)
在after_commit callback不运行.
这是一个带有最新版本的rspec/rails的rails应用程序: git://github.com/sheabarton/after_commit_demo.git
我的同事检查了一些我知道错误的文件.我希望能够替换它们并将我当地的旧版本提交回仓库.但是,SVN不允许我在没有运行更新的情况下提交这些文件.
我担心这可能导致自动合并并搞砸我当地的"好"副本.一世
无论如何,我可以提交我的版本而不更新?非常不鼓励非自动合并.有什么选择?
我有两个分支,一个主人和一个实验.显示:
master-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-Y
\
-x-x-x-x
Run Code Online (Sandbox Code Playgroud)
我的实验已经过时了,我希望通过简单地将主分支(Y)中的最后一次提交复制到实验来更新它:
master-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-Y
\
-x-x-x-x-Y
Run Code Online (Sandbox Code Playgroud)
如果可能的话,我不想做任何合并我想要在实验中覆盖任何东西(master是我的主要优先级).
编辑: 让我简要解释一下这种情况:当我尝试在主和实验分支的提示下合并提交时,我会遇到很多合并冲突!如果我尝试从实验中挑选到主人那里,也会发生同样的事情!我希望避免它们,因为我根本不想要实验中的任何变化!到目前为止,我一直在挑选从大师到实验,当有合并冲突时,我只是保持主分支的变化.但是在做了很多次之后,我希望有一些方法我可以做一些像合并的东西,除了哪里(我没有提示任何合并冲突,因为主变化是我所需要的所有(我知道它不会不管以前在实验分支上做了什么!
从git服务器拉出后,我正在尝试获取所有已更改文件的列表.我不需要任何代码特定部分,只是一个文件列表(以某种指示,以还判定是否它已添加,删除或更改).
我首先看了一下使用git log,但这显然只返回上一次提交的信息:
git log --name-status --max-count=1 --pretty=format:""
因为这显然只是从拉取的最后一次提交中获得了更改,所以我试图找到一种方法来获取所有更改(拉数几乎总是存在于多次提交中).
这有什么命令吗?(我正在与PHP的Git进行交互,顺便说一句)
我试图了解如何撤消提交并将更改提交到Git中的其他分支?但我认为不一定要那么难.(答案正在使用branch -f,stash而且我认为我不需要那些.)
我在我的开发部门工作.在脏工作目录中有两个不同的提交.在两个不同的提交中提交所有更改.最后一次提交是WIP(所以开发材料).倒数第二个完成,应该复制到stable分支.
我想象的东西
$ git copy e87568fa stable
Run Code Online (Sandbox Code Playgroud)
但我很确定不是这样.
樱桃采摘与它有关吗?
可以肯定:我希望提交保持不变dev.所以不是mv,但cp它.
我仍然对所有这些GIT选项和命令感到困惑.
我正在尝试将我的更改提交到CVS存储库,但是我收到以下错误:
RCS file: /opt/CZarmen/CVS_REPOSITORY/Z_user/lib/python/StudioCustom.py,v
retrieving revision 1.38
retrieving revision 1.39
Merging differences between 1.38 and 1.39 into StudioCustom.py
M lib/python/StudioCustom.py
RCS file: /opt/CZarmen/CVS_REPOSITORY/Z_user/menu_scripts/Y/ZExtensions,v
retrieving revision 1.46
retrieving revision 1.47
Merging differences between 1.46 and 1.47 into ZExtensions
M menu_scripts/Y/ZExtensions
cvs commit: Up-to-date check failed for `lib/python/StudioCustom.py'
cvs commit: Up-to-date check failed for `menu_scripts/Y/ZExtensions'
cvs [commit aborted]: correct above errors first!
Run Code Online (Sandbox Code Playgroud)
为什么它没有提交我的更改?我如何"纠正上述错误"?
我正在尝试使用消息中的新行进行svn提交
我该怎么做这个换行符?我试过了
svn commit -m "Issue \n solution" file.js
Run Code Online (Sandbox Code Playgroud)
但它显然没有用.