草庐IT

git - svn 命令行相当于 'git log -p' ?

是否有使用svn命令行工具的等效gitlog-p?svnlog-v显示文件名但不显示更改。我希望看到先前提交引入的补丁。如果不可能,是否有办法获得单个先前提交引入的补丁(不是与head相比,只是变更集)? 最佳答案 svnlog--diff相当于gitlog-p.对于单个修订,您可以使用svndiff-c在git中是gitshow. 关于git-svn命令行相当于'gitlog-p'?,我们在StackOverflow上找到一个类似的问题: https://s

svn - 任何版本控制系统(如 SVN、Git 或 Mercurial)是否允许您使用 "keep latest version"而不是修订版本? (例如二进制文件)

在我们的项目文件中,如果有二进制文件,比如.doc、.xls、.jpg,而我们选择不保留他们过去的版本(只保留最新版本就可以),有没有办法告诉SVN、Git或Mercurial或其他一些工具来跳过对这些文件或特定文件夹的修订?比如说,有一个4MB的.doc文件,我需要检查数百次,但我不太关心它过去的版本。因此,如果系统对其进行100次修订,那已经是400MB了……checkin300次意味着1个文件需要1.2GB,这并不好。只有最新版本才是好的,这样每个人都可以同步到它。此外,我不希望其他人checkout该项目并且必须checkout20GB的内容。(Git和Mercurial会在每

git - STATUS_ACCESS_VIOLATION 与 git svn

我正在尝试将我们的代码从包含大约1GB数据的SVN存储库(TortoiseSVN1.9.364位)迁移到带有Git存储库的TFS2015。我的电脑上有Git(2.9.0.1),当我尝试这个命令行时:gitsvnclonehttps://server/directory/trunk它创建了.git文件夹,但是我有一个perl.exe.stackdump文件有以下问题Exception:STATUS_ACCESS_VIOLATIONatrip=00000000000rax=0000000000000000rbx=00000006010B9448rcx=00000006010B9448rdx

svn - 关于使用 git-svn repo 的团队的工作流问题

我一直在研究git和git-svn。我是git的新手,但我已经能够创建一些基本的repo协议(protocol)。但是,我对团队使用git-svn的工作流程如何进行感到有些困惑。目标是将svn转换为git以用于分支和共享目的,然后在准备好推送到生产环境时提交回主svn存储库。这是我的问题:团队的每个成员都应该从svn存储库创建一个git存储库吗?当merge回svn/相互pull时,这种方法是否有效?-或-是否应该从svn创建一个git存储库,然后将该存储库“公开”推送给团队成员克隆?那么更改是否会被pull回到原来的git存储库以进行rebase并推送到svn?-或-除了从彼此的工作

带有 svn.pushmergeinfo : how to avoid self-referencing mergeinfo lines 的 Git-SVN

在最近的git版本中,引入了配置svn.pushmergeinfo:configkey:svn.pushmergeinfoThisoptionwillcausegit-svntoattempttoautomaticallypopulatethesvn:mergeinfopropertyintheSVNrepositorywhenpossible.Currently,thiscanonlybedonewhendcommittingnon-fast-forwardmergeswhereallparentsbutthefirsthavealreadybeenpushedintoSVN.我们使

Git Svn 获取更多修订

我正在为我们的svn存储库使用git-svn。然而,repo很大,所以我首先像这样检查了项目:gitsvnclonesvn://svn.server.com/project-s-r12000:HEAD所以,现在我只有当前修订版的修订版12000。我想检查更多的修订,但以下内容没有任何作用:gitsvnfetch-r11000:HEAD有没有办法获取旧版本? 最佳答案 我认为这并没有得到真正的支持,这样做会rebase整个存储库,这通常被认为是一件坏事。(虽然纯git非常乐意让你这样做搬起石头砸自己的脚)我看不出有办法做到这一点,即使

Git-svn - 导入完整历史

问题默认情况下,gitsvnclone仅从分支创建开始导入历史记录,尽管事实上,文件历史记录在分支创建之前存在于SVN存储库中。如果重要的话,我们的SVN分支是由svncopy创建的。我的尝试我试过--no-minimize-url和--follow-parent,但没有成功。生成的Git存储库与没有这些参数的情况相同,从分支创建开始。想要的结果具有SVN存储库创建的完整历史记录的Git存储库。更新我的实际命令行是gitsvnclonehttp://svnserver/repo/dir1/dir2/project有用的是-T参数和结果命令:gitsvnclonehttp://svnse

svn - 使用 git-svn 将 svn 分支 merge 回主干并将主干 merge 回分支

所以我正在使用git并与svn存储库进行交互。我有一个看起来像这样的svnTRUNK:A-B-C-D还有一个在提交B或C分支的svnbug_fixes分支:-c-d-e-f-g-h-i现在我需要将我的svn分支中的cdefghi提交返回到master分支中。我知道我可以做一个压缩提交,我们称它为压缩SQUASH(它会包含cdefghi),但似乎我必须杀死bug_fixes分支并启动一个新分支才能干净利落地继续。此处:http://blog.red-bean.com/sussman/?p=92他们建议:checkout分支。mergemaster的更改到分支。Checkout大师。mer

git - 在 git svn clone/fetch 期间避免 "warning: There are too many unreachable loose objects"

当针对大型Subversion存储库(超过100k提交)运行gitsvnclone或gitsvnfetch时,提取通常会停止:Autopackingtherepositoryinbackgroundforoptimumperformance.See"githelpgc"formanualhousekeeping.error:Thelastgcrunreportedthefollowing.Pleasecorrecttherootcauseandremove.git/gc.log.Automaticcleanupwillnotbeperformeduntilthefileisremove

使用 svn.pushmergeinfo 进行 merge 的 git-svn 工作流程

使用git-svnmergesvn跟踪分支的正确工作流程是什么。我已经阅读了一些关于git-svnsvn.pushmergeinfo配置键的内容,注意事项是:来自http://www.kernel.org/pub/software/scm/git/docs/git-svn.html:configkey:svn.pushmergeinfoThisoptionwillcausegit-svntoattempttoautomaticallypopulatethesvn:mergeinfopropertyintheSVNrepositorywhenpossible.Currently,this