GitHub:在当地的两个分支机构工作

时间:2015-11-09 13:51:55

标签: git github

我正在使用适用于Windows的GitHub应用程序,它运行良好。但是,我很困惑如何在我的本地文件上同时处理多个分支。

让我们说我克隆了一个存储库到C:\ github,如果我创建一个新的分支,我的文件结构没有任何变化。这意味着每当我更改文件时,它也应该更改为主分支,对吗?

如何在我的机器上本地拥有两个分支,我可以单独工作,没有任何冲突。因此,当我在分支A中更改文件X时,X在主分支中没有改变?

  • note 我对GitHub和GH桌面都很陌生。
  • note 我正在谈论文件系统,而不是提交。

4 个答案:

答案 0 :(得分:1)

您要求的行为是git的默认行为。当您创建新分支时,您有效地说您希望从创建分支的位置分叉开发历史记录。一旦checkout成为分支,所有在文件上完成的工作都将在该分支中进行。

为了使这更具体,想象一下你克隆了一个存储库,只有一个名为master的分支。要创建和签出新分支,您可以:

git checkout -b new_branch

现在,您可以根据需要修改文件X,addcommit,以及是否要与其他人共享push。现在,要在更改之前查看X的版本,只需返回master分支:

git checkout master

答案 1 :(得分:0)

不要专注于文件系统。当然,文件会在当前检出的分支中更改。只需checkout您希望在更改文件之前在中工作的分支,然后使用这些文件。提交后,您可以结帐到另一个分支。

答案 2 :(得分:0)

您可以从master创建一个简单的本地分支,尝试阅读一些gitflow,如果它变得复杂,您也可以使用SourceTree 这将为您管理您的分支创建。

所以,现在假设您更改了本地计算机上的许多文件,您可以提交它们而无需修改主服务器,除非您同步它(合并它)。因此,除非您想

,否则您可以在不修改master本身的情况下处理master的不同副本

答案 3 :(得分:0)

我不认为其他人已经回答了这个问题。我现在遇到了同样的问题。我找到了两种可能的解决方案。

选项A

A)在桌面上创建一个单独的用户帐户,以便您可以在本地拥有多个分支机构。这不是最佳解决方案。

选项B(请注意,B1和B2都是选项B的一部分,并且是不同的步骤)

B1)照常创建本地存储库,重命名目录以指示它是一个不同的分支。然后,转到存储库>删除。这样,您可以第二次克隆并重复。现在,您将拥有两个本地分支,尽管它们可能与其他github项目位于同一目录中,但它们都无法被github桌面识别。现在,您可以使用所需的任何外部编辑程序在这些分支上工作。

B2)准备上传时,在github桌面上选择“从硬盘驱动器添加现有存储库”,导航到要上传的分支。添加它。 Github桌面将识别存储库。现在,您可以使用顶部的下拉列表上传到所选分支。最后,转到顶部的存储库>再次删除。然后根据需要继续编辑。

选项B可以扩展到任意数量的分支,并且不需要您重新安装所有环境。