在我跟踪svn回购的git repo中,我对一个文件进行了一些编辑。 现在我想恢复这些更改(如svn恢复),但只有部分的文件。 我希望能够查看文件上的差异,放弃(恢复)我不想要的更改,并保留所需的更改。 该 git add -i 命令似乎有一个select,但我不想这个阶段呢。
有没有办法在我的Git仓库中添加一个Subversion版本库作为Git子模块? 就像是: git-svn submodule add https://svn.foo.com/svn/proj –stdlayout svn-project 其中https://svn.foo.com/svn/proj指向一个Subversion版本库。 我知道有git-svn允许一个与Subversion版本库进行交互。 所以我想,也许有办法用git-svn检出一个Subversion版本库,然后用它作为子模块。
我已经使用git svn检出了一个svn仓库。 现在我需要检查其中一个分支并跟踪它。 哪个是最好的办法呢?
基本问题:我如何从其被克隆的来源中分离git repo? git branch -a显示: * master remotes/origin/HEAD -> origin/master 我想删除所有的来源知识,以及相关的修订。 更长的问题:我想采取一个现有的颠覆回购,并从它做一些小git回购。 每个新的git回购应该有相关分支的完整历史。 我可以使用以下命令将回购机制修剪为想要的子树: git filter-branch –subdirectory-filter path/to/subtree HEAD 但是生成的repo仍然包含原始/主分支下的所有被丢弃的子树的所有修订。 我意识到我可以使用-T标志来git-svn克隆颠覆回购的相关子树。 我不确定这是否会比以后运行git filter-branch –subdirectory-filter在git repo副本上的多个实例更有效,但是,无论如何,我仍然希望打破与原点的链接。
我使用git-svn来对付我公司的中央svn仓库。 我们最近在中央回购中创build了一个新的function分支。 我该如何告诉git ? 当我运行git branch -r我只能看到当我对svn repo执行fetch以初始化我的git repo时存在的分支?
我有一个跟踪svn仓库的git仓库。 我使用–stdlayout克隆它。 我通过git checkout -b foobar创build了一个新的本地分支 现在我想把这个分支放在svn仓库的…/branches/foobar中。 我如何去做呢? (剪下大量的调查文字,如果你在意的话,看看问题历史)
我知道在git中,我可以使用git diff命令来检查更改,但是(我明白的是)它是基于目录的。 这意味着它会给出当前目录中所有文件的所有更改。 我怎样才能检查一个特定文件的变化? 说,我已经改变了file_1.rb,file_2.rb,…,file_N.rb,但我只对文件file_2.rb的变化感兴趣。 如何检查呢? 我想在我提交之前检查更改。
当做一个git diff说: “在文件结尾没有换行符” 。 好的,文件结尾没有换行符。 有什么大不了的? 信息的意义是什么?它试图告诉我们什么?
我尝试git-svn的动机是毫不费力的合并和分支。 然后我注意到man git-svn(1)说: 运行git-merge或git-pull不build议在你打算从dcommit分支。 颠覆不代表任何合理或有用的方式合并; 所以使用Subversion的用户不能看到你所做的任何合并。 另外,如果你从SVN分支的镜像分支合并或者拉出,dcommit可能会提交错误的分支。 这是否意味着我不能从svn / trunk(或分支)创build一个本地分支,破解,合并回svn / trunk,然后dcommit? 我知道svn用户会看到在svn pre 1.5.x中合并的混乱,但是还有其他的缺点吗? 最后一句话也让我担心。 人们经常做这些事情吗?
我们最近从SVN迁移到Git。 我们已经在局域网中的一台机器上build立了一个裸存储库,并在其他机器上进行了克隆。 现在,当任何人做了更改和提交,我们希望他发送拉请求到裸露的回购(通过告诉或电子邮件或任何其他方式)之后,将通过修改并将其拉到裸仓库(相同的工作GitHub上)。 我们是否需要安装任何界面,或者在Git中有一些命令?