我想在保留它的原始SHA提交代码的同时在提取的遥控器上挑选提交(我当前的分支基于这个我重置为先前状态的遥控器).
我在git存储库中有一个已更改文件的列表.目前有一个我不想提交的文件.我可不可以做:
git commit -a
Run Code Online (Sandbox Code Playgroud)
提交所有文件然后以某种方式从当前提交中删除该文件?删除后,它仍然应该在未提交的文件列表中.
关于在subversion中提交合并的结果,我最近遇到了一个特别棘手的问题.我们的Subversion服务器是@ 1.5.0,我的TortoiseSVN客户端现在是@ 1.6.1.
我正在尝试将功能分支合并到我的主干中.合并似乎工作正常; 但是,提交失败,并显示以下错误消息.
Commit failed (details follow):
File
'flex/src/com/penbay/invision/portal/services/http/soap/ReportServices/GetAllBldgsParamsByRegionBySiteResultEvent.as'
is out of date
'/svn/ibis/!svn/wrk/531d459d-80fa-ea46-bfb4-940d79ee6d2e/visualization/trunk/source/flex/src/com/penbay/invision/portal/services/http/soap/ReportServices/GetAllBldgsParamsByRegionBySiteResultEvent.as'
path not found
You have to update your working copy first.
Run Code Online (Sandbox Code Playgroud)
我的工作箱是最新的.我甚至检查了一个新的文件夹到另一个文件夹,以确保没有任何本地混乱混乱合并.我已经对此做了一些研究,我认为部分问题是用户错误.我认为我们的问题是:
Subversion的书籍/团队明确不推荐所有这些内容.我们已经吸取了教训,现在已经了解了最佳实践.但是,我们首先需要合并并提交最新的分支.
什么是纠正我们遇到的问题的最佳方法?
删除主干和分支中的所有合并信息是否可行? 不,我已经这样做但它没有解决我上面的错误.
我只是做了一个svn merge将更改从主干合并到分支:
$ svn merge -r328:HEAD file:///home/user/svn/repos/proj/trunk .
--- Merging r388 through r500 into '.':
A foo
A bar
C baz1
C baz2
U duh
[...]
Run Code Online (Sandbox Code Playgroud)
但是有太多的冲突,所以我想撤消这个.
一种方法是提交然后合并.但由于冲突我无法承诺.在这种情况下撤消的最佳方法是什么?
当我打算将它们提交给分支"master"时,我意外地在分支"测试"上做了10次提交."测试"分支上的其他提交是垃圾,所以我不想将它与"master"合并.相反,我只想重播master上的最后10次提交.
我对git的工作原理并不熟悉.我错误地提交了一个提交,并希望将其恢复.我做了一个
git reset --hard HEAD~1
Run Code Online (Sandbox Code Playgroud)
当心Google员工: 这不仅会恢复提交,还会丢弃所有文件更改!
现在项目在我的机器上还原,但不在github上.如果我尝试推送此代码,我会通过1次提交得到错误"你的分支在'origin/master'后面,并且可以快速转发." 如何从github中删除此提交?
好的,所以当我尝试恢复提交(使用Git)时,我有时会收到错误.我所做的就是
git revert <commit hash>
它给了我这样的信息:
error: could not revert <commit hash> <commit message>
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
Run Code Online (Sandbox Code Playgroud)
这是否意味着我应该使用git mergetool并解决任何冲突?一旦我这样做,我可以添加/ rm然后提交,并恢复完成?
我试图将上游更改合并到我的分支中时遇到冲突,我不知道如何解决它们.
我创建了自己的fork.我克隆了它.我对我的分支,承诺和推送的分支进行了更改.但后来主叉更新了,我尝试通过合并上游来更新我自己的fork:
$ cd repo-name
$ git remote add upstream git://github.com/username/repo-name.git
$ git fetch upstream
$ git merge upstream/master
Run Code Online (Sandbox Code Playgroud)
合并说文件存在一些问题,自动合并不起作用.它告诉我自己修复并重新合并.所以我实际上去了主叉的GitHub上的(上游)存储库,并将新文件的所有代码复制到我的fork上的文件中,并尝试再次合并.然后,git给了我这个错误:
致命:'merge'是不可能的,因为你有未合并的文件.请在工作树中修复它们,然后根据需要使用'git add/rm'标记解析并进行提交,或使用'git commit -a'.
我有什么争论吗?我做了些蠢事吗?"未合并的文件"是什么意思?合并文件的合并不是全部吗?在合并之前,我是否必须提交更改?
我正在尝试在控制台中输出完整的提交消息,但我能够收到消息,但是为了查看完整的消息,我必须继续调整控制台窗口的大小以显示更多信息.我在Windows上使用Cygwin.
我正在使用的命令是git log --pretty=full.
我想,如果有人能给我更多关于使用git和远程存储库的细节.我还没有使用远程存储库.
对于本地存储库,您提交的更改可能不会太过于破碎.什么被推送到远程存储库?每个本地提交?或者完成的整体工作,然后与其他人的整体工作合并?我认为远程存储库的日志必须令人困惑,如果每个人都推送每个提交.