2017-03-14 230 views
0

我对于以前使用过TFS的GIT相当陌生。GIT - 克隆本地分支

我的问题是:我需要创建一个项目的几个本地分支,并在它们之间切换和更换(偶尔到基本上同时打开两个项目的时间点)。 为了实现这一点,我创建了本地分支,然后将它们克隆到不同的文件夹中。

在我开发太深入之前,我只想检查一下这种方法是否会导致任何问题呢?

编辑:添加一些更多的细节,以澄清我的工作。因此,为了澄清,我有一个本地的存储库,我已经分支了几次,然后我克隆了那些分支(从下面的评论意味着我有这些分支的新存储库)我仍然不明白为什么它将这些重新合并到我的本地主人中会更加困难。下面显示了我拥有的。

enter image description here

所以,现在我的问题是,如果这将是更加困难的工作,以什么样的方式?这样做有什么缺陷?我需要经过哪些步骤才能将这些更改合并回主服务器?

回答

1

发布精炼问题的另一个答案。

如果这将是更难的工作,以什么方式?这样做有什么缺陷?我需要经过哪些步骤才能将这些更改合并回主服务器?

就像我提到的意见,我的第一个答案,每个克隆是一个独立的库,但指向同一个Git的URI,即//[...]/project_1.git,即只能通过remote相互连接

使用上面的图来解释,
要更新[本地主要]与[本地错误修正]发展,只有2种方式:

  1. 经由命令行

    • push [本地错误修复]至remotegit push origin bug-fixes
    • 开路端的第二实例>cd为[本地主要] [本地主要]的
    • 更新GIT中指数:git checkout master>git pull origin bug-fixes
  2. 手动更新:

    • 复制[本地错误修正]的全部内容:Ctrl + A>Ctrl + C
    • 开新资源管理器窗口>导航到[local-Main]>覆盖内容:Ctrl + A>Ctrl + V
    • 更新[local-Mait的git索引在]:git add .>git commit
+0

如果我提前想过,我会使用选项2 - 事后看来它会容易得多! – 5NRF

0

克隆他们到不同的文件夹

有两个不同的文件夹将纳入变化从一个到另一个困难,几乎抵消使用Git

话虽如此,我按照这个工作流自己我的一些红宝石项目

---- ----编辑

示范:

克隆项目进入C:/Projects/repoC:/Projects/repo_copy
结帐到分支demo并作出更改~repo/

在新的终端窗口中,导航至~repo_copy/并尝试结帐在~repo/中创建的demo分支您将无法执行此操作。 demo分支在那里不存在。

+0

真的吗?它会以何种方式变得困难,这不仅仅是一种合并? – 5NRF

+0

说clone1在'C:/ repo /'和clone2在'C:/ repo_copy /'..它们是两个不同的存储库,即使它们指向相同的Git URI – ashmaroli

+0

更新的答案案例scenaio – ashmaroli

0

为了记录在案,这是一个有点比正常更加尴尬,但不是很大。

处理过程如下: 1.在其中一个功能分支的克隆回购中提交所有内容,然后推入主回购库。将来自克隆回购的代码放入功能分支的主要回购库中。 2.合并功能分支到主。 3.解决冲突 4.提交 5.按

所以比从克隆回购初始推(和冲突的梦魇)的过程中原位缺口其他多大区别 - I与虽然上述同意 - 我建议避免这种做法(我当然会)