如何在GIT存储库的单独目录中创建单独的分支

时间:2015-09-01 23:44:31

标签: git version-control branch atlassian-sourcetree

我有一个Web服务器,我在其中托管一个使用Source Tree通过bitbucket连接到主分支的实时站点。当我在本地计算机上进行更改时,我提交更改,然后将它们拉到实时服务器上。

我想在实际网站旁边设置一个暂存网站,以便:

  1. 我可以在暂存分支上进行本地开发,提交它然后将其拉到服务器上进入暂存站点。
  2. 当我对测试登台网站的结果感到满意时,我会将登台合并到主分支(实时网站)。
  3. 我不知道该如何解决这个问题。我对GIT比较新。我在SourceTree中创建了一个新的分支但是我看不出你如何指定分支运行的文件夹等。

    这是处理事情的正确方法还是有更好的方法?

2 个答案:

答案 0 :(得分:0)

给定的存储库只能签出一个活动的“工作副本”。

如果要将存储库的分支放入单独的目录中,可以将目录克隆到那里,然后切换到分支。

(您也可以只使用您的存储库复制整个目录,但是克隆命令会做一些很好的硬链接魔法以减少磁盘空间,如果您有一个大型存储库,这可能是一个问题。)

答案 1 :(得分:0)

Git 2.5 added experimental support for multiple work trees

  

新的Git子命令git worktree创建了连接到现有Git存储库的其他工作树[1]。每个链接的工作树都是一个伪存储库,具有自己的签出工作副本。它的.git实际上是一个引用主存储库的历史和引用的文件。

     

请注意,worktree功能是实验性的。它可能有一些错误,其界面可能会根据用户反馈而改变。 不推荐git worktree与包含子模块的存储库一起使用。

如果您的Git版本足够新,您可以执行git subtree add /path/to/staging/directory staging-branch

之类的操作

另见work flow for using git 2.5 for multiple work directories using 'git worktree'