你如何创建一个“遥控器”?本地分支:在〜/ Library中?

时间:2016-02-26 23:52:17

标签: git

我想创建一个'遥控器'分支机构:

$~/Library/Application Support/GIT Repository

...我可以从另一个本地工作目录推送/拉出'。

我相信我应该使用以下内容:

  

git remote add ...

但我需要生成一个* .git目标文件。我不确定正确的语法。

修订

enter image description here

1)首先,我转到目标(' remote')目录以创建.git存储库:

$~/Library/Application Support/GIT Repository:git init

  

/ Users / Ric / Library / Application中初始化的空Git存储库   支持/ GIT存储库/ .git

2)返回源(工作区)。在这个例子中,使用' burp'项目:

$~/workarea/burp:ls
burp/       burp.xcodeproj/
$~/workarea/burp:

3)尝试创建远程目录:

$~/workarea/burp:git add myRemoteBurp ~/Library/Application\ Support/GIT\ Repository/.git

发生致命错误:

  

致命:/ Users / Ric / Library / Application Support / GIT Repository / .git:   ' / Users / Ric / Library / Application Support / GIT Repository / .git'是   外部存储库

检查远程存储库基础结构:

$~/workarea/burp:ls "/Users/Ric/Library/Application Support/GIT Repository/.git"
HEAD        branches/   config      description hooks/      info/       objects/    refs/

......我迷失在这里。

1 个答案:

答案 0 :(得分:0)

来自其他"工作目录"你可以这样做:

git remote add lib_repo ~/Library/Application\ Support/GIT\ Repository/.git

然后你将能够:

git push lib_repo master

git pull lib_repo master

显然它反过来也有效。

好的,你说你对git remote addgit add并不感到困惑,但实际上你是,或者你不会有任何问题。

您的错误:

  

致命:/ Users / Ric / Library / Application Support / GIT Repository / .git:' / Users / Ric / Library / Application Support / GIT Repository / .git'在库外

只会因为你正在做的事而引起:

git add myRemoteBurp ~/Library/Application\ Support/GIT\ Repository/.git

您要求git做的是在当前存储库中添加文件 myRemoteBurp~/Library/Application\ Support/GIT\ Repository/.git '索引。这是在正常的git流中进行提交之前要做的步骤:

echo "Hello World" > README.md
git add README.md
git ci -m "added README file placeholder"
git push origin master

因此,错误git给你完全合法,因为git无法从存储库索引中的工作空间路径之外添加文件。

我告诉你的事情是不同的,它是关于遥控器的。远程只是另一个存储库您当前的存储库可以推送/拉出。 远程可以托管在github,bitbucket或gitlab上,但它也可以托管在您可以通过SSH连接的服务器上,也可以托管在计算机上的另一个目录中。最后一个案例似乎就是你所要求的。

让我们重新开始并遵循我的指示:

% cd "/Users/Ric/Library/Application Support/GIT Repository"
% git init
% cd ~/workarea/burp
% git add remote other "/Users/Ric/Library/Application Support/GIT Repository/.git"
% git push other master

我在这做了什么?在~/workarea/burp存储库中,我添加了一个名为remote的新other(您可以选择所需的任何名称,其用途是origin是中央存储库如果适用,请与同事分享您的工作。

如果你查看~/workarea/burp的配置文件,你会看到添加了新的遥控器:

% cat ~/workarea/burp/.git/config
…
[remote "other"]
    url = /Users/Ric/Library/Application Support/GIT Repository/.git
    fetch = +refs/heads/*:refs/remotes/other/*

我希望这次我能更好地向你解释这一切☺

HTH