在机器之间复制git本地分支?

时间:2009-09-14 16:04:46

标签: git

好的,所以我在两台机器上跟踪远程仓库,因此两者都有主分支。我还在笔记本电脑上创建了一个名为development的本地分支。有没有办法让我将本地分支复制到我的台式计算机上?我会使用我的笔记本电脑,但出于某种原因我遇到了gdb和emacs的麻烦......

编辑:这对我有用

git remote add laptop [username]@hostname:/path/to/repo
git fetch laptop
git checkout --track -b development laptop/development
git pull

2 个答案:

答案 0 :(得分:11)

让我们假设您在“桌面”计算机和“笔记本电脑”计算机上的存储库都设置了这样的方式,您可以从“笔记本电脑”获取“桌面”,反之亦然(例如通过SSH或通过{ {1}}协议,即通过git-daemon,或者通过简单的HTTP)。

'台式'和'笔记本电脑'机器都有'主'分支,另外'笔记本电脑'机器有'开发'分支。

首先使用git remote设置远程快捷方式和远程跟踪分支

desktop$ git remote add laptop user@laptop:/path/to/repo

这将设置远程命名的“笔记本电脑”和远程跟踪分支:'laptop / master'(或更确切地说是'refs / remotes / laptop / master'),它跟随'laptop'上的分支'master',和'笔记本电脑/开发',它跟随'笔记本电脑'上的分支'发展'。

然后你需要在'桌面'上创建本地分支'开发',它将跟踪(跟踪)远程跟踪分支'笔记本电脑/开发'(因为你不能在远程开发 - 跟踪分支机构):

desktop$ git checkout -b development --track laptop/development

或只是简单地(使用现代git)

desktop$ git checkout --track laptop/development

有关详细信息,请参阅git-branch联机帮助页。

这个设置允许在'桌面'上的分支'开发'时使用简单的“git pull”,git会自动将'laptop'中存储库的所有更改提取到'laptop / master'和'laptop / development'远程跟踪分支,然后尝试将'laptop / development'合并到'development'(当前分支) - 这通常会导致快进,即只是移动'development'分支。 / p>

然后你可以在'笔记本电脑'上创建类似的设置(虽然在'笔记本电脑'上设置现有的分支'开发'来跟踪'桌面/开发'可能需要直接或通过“git config”编辑配置文件。)

答案 1 :(得分:2)

你能不能从笔记本电脑中拔出远程分支吗? Git将拉过http,ssh - 许多协议。我的git语法相当生疏,但有些像......

编辑:通过内存和手册挖掘,您可能需要首先使用

添加新遥控器
git remote add ssh://remotestuff/

然后你可以

git checkout --track -b localBranchName remote/remoteBranch

跟踪分支。