您如何使用git来从远程源更新裸仓库

问题描述

|| 我有一个回购,它是github回购的裸露克隆:
 git clone --bare [email protected]:PabloSerbo/maiden.git
许多开发人员克隆了该回购并推回去。 另一个开发人员已直接致力于github存储库。 我想知道如何将github上的更改重新带回裸仓库,以供其他开发人员使用。 我试过了:
 git fetch origin
哪个似乎可以获取
 remotes/origin/master
但是我无法让当地负责人进行更改。 我能找到的最接近的问题是: 如何更新我的裸仓库? 这建议进行镜像,但是我想知道是否有一种无需镜像即可实现的方法。     

解决方法

自己克隆裸仓库。这将有起源指向这一点。现在,将github存储库添加为\'github \'远程目录。现在,您可以从github获取分支和标签,然后将它们推到原点。
git fetch github
git push origin github/yourbranchname:yourbranchname
希望这可以帮助。     ,这种方法对我有用:
git fetch origin master:master
接着
git update-server-info (I am using http to access bare repository,not sure that it has sense if you use another type ot transport  )
但它仅更新master分支。而且我仍然不知道如何更新所有分支     ,我发现有必要对裸露/镜像存储库执行
git remote update
。否则HEAD和master落后。在验证获取的提交是否正确之后,通常重要的是将HEAD向前移动。
marcgc@deb6marc:~/projs/8568/svn/mix3/mIST_SE.git$ git fetch geekisp
[email protected]\'s password: 
remote: Counting objects: 19,done.
remote: Compressing objects: 100% (14/14),done.
remote: Total 14 (delta 10),reused 0 (delta 0)
Unpacking objects: 100% (14/14),done.
From login.geekisp.com:marc/tecsidel/git/mix/mIST_SE
 * [new branch]      master     -> geekisp/master
marcgc@deb6marc:~/projs/8568/svn/mix3/mIST_SE.git$ git lol
* 835bede (geekisp/master) dont crash
* 6de0db7 v2.0.11
* 42336a0 rename PicSearchAlga to PicSearch
* 845728d goto with 2 pix instead of 3
* a08ca13 (HEAD,master) v2.0.10
* 51c984e v2.0.8 : show CC in report (bugfix)
在执行提取之前,HEAD和master指向同一提交。为了使它们指向最新的提交,有必要进行远程更新:
marcgc@deb6marc:~/projs/8568/svn/mix3/mIST_SE.git$ git remote update geekisp
Fetching geekisp
[email protected]\'s password: 
marcgc@deb6marc:~/projs/8568/svn/mix3/mIST_SE.git$ git lol
* 835bede (HEAD,geekisp/master,master) dont crash
* 6de0db7 v2.0.11
现在所有裁判(HEAD,主裁判)都指向最新提交。 编辑/升级: 在愉快地写下我的答案之后,我发现我的解决方案没有 工作了。我尝试在另一台计算机上进行同样的操作。
marc@ibm:~/tecsidel/git/mix2/mIST_SE.git$ git fetch geekisp
[email protected]\'s password:
Fetching geekisp
remote: Counting objects: 20,done.
remote: Total 14 (delta 11),done.
From login.geekisp.com:marc/tecsidel/git/mix/mIST_SE
   835bede..4e2e92e  master     -> geekisp/master
marc@ibm:~/tecsidel/git/mix2/mIST_SE.git$ 
marc@ibm:~/tecsidel/git/mix2/mIST_SE.git$ git lol
* 4e2e92e (geekisp/master,geekisp/HEAD) best search type,finds something
* d16406a start to see search types for sweden
* 9809ccd v2.0.12
* 835bede dont crash
* 6de0db7 v2.0.11
* 42336a0 rename PicSearchAlga to PicSearch
* 845728d goto with 2 pix instead of 3
* a08ca13 (HEAD,master) v2.0.10
marc@ibm:~/tecsidel/git/mix2/mIST_SE.git$ 
marc@ibm:~/tecsidel/git/mix2/mIST_SE.git$ git remote update geekisp
[email protected]\'s password:
Fetching geekisp
marc@ibm:~/tecsidel/git/mix2/mIST_SE.git$ 
我被困在这里。 HEAD和主人没有指向 最新提交。
marc@ibm:~/tecsidel/git/mix2/mIST_SE.git$ git lol
* 4e2e92e (geekisp/master,master) v2.0.10
看来我的解决方案不起作用。谷歌搜索后,我找到了解决方案。 似乎fetch命令还需要具有refspec,例如master:master 就我而言。
marc@ibm:~/tecsidel/git/mix2/mIST_SE.git$ git fetch geekisp master:master
[email protected]\'s password:
From login.geekisp.com:marc/tecsidel/git/mix/mIST_SE
   a08ca13..4e2e92e  master     -> master
marc@ibm:~/tecsidel/git/mix2/mIST_SE.git$
marc@ibm:~/tecsidel/git/mix2/mIST_SE.git$ git lol
* 4e2e92e (HEAD,geekisp/HEAD,master) best search type,finds somet
* d16406a start to see search types for sweden
* 9809ccd v2.0.12
* 835bede dont crash
* 6de0db7 v2.0.11
* 42336a0 rename PicSearchAlga to PicSearch
* 845728d goto with 2 pix instead of 3
* a08ca13 v2.0.10
* 51c984e v2.0.8 : show CC in report (bugfix)
marc@ibm:~/tecsidel/git/mix2/mIST_SE.git$
就是这样。