【问题标题】:After making a bare repository clone of an existing repository, is it possible to treat the original repository as a clone of the bare repository?在对现有存储库进行裸存储库克隆后,是否可以将原始存储库视为裸存储库的克隆?
【发布时间】:2013-08-25 19:19:15
【问题描述】:

一个问题:我有一个带有工作目录的现有 git 存储库。我想开始与团队共享此存储库。我做了以下事情:git clone --bare repo_dir repo_dir.git 并让团队克隆了repo_dir.git。现在我希望repo_dir 随时了解推送到裸仓库的任何更改。方法是从repo_dir.git 中删除远程原点,并将远程原点添加到repo_dir 指向repo_dir.git。那就是:

cd repo_dir.git
git remote rm origin
cd ../repo_dir
git remote add origin ../repo_dir.git

我尝试更新原始存储库:git pull origin master,它似乎工作正常,但我担心可能有一些其他配置保持不变,会导致奇怪的行为。可以将此原始存储库视为裸存储库的克隆,还是必须进行其他更改?有人对此有任何见解吗?

谢谢!

【问题讨论】:

  • 您可能(也可能不想)将repo_dir 中的分支设置为“跟踪”(../repo_dir.git 中的分支):git config branch.master.remote origin && git config branch.master.merge refs/heads/master

标签: git git-bare


【解决方案1】:

可以将此原始存储库视为裸存储库的克隆,还是必须进行其他更改?

是的:在分布式 VCS 中,任何 repo 都可以是另一个的 upstream repo

唯一需要注意的是(但不是您的情况),是您在推送到新的上游存储库时可能触发的潜在 钩子 的性质。
由于这个裸仓库是最近的,所以这不适用。

【讨论】:

    猜你喜欢
    • 2013-06-04
    • 2012-05-03
    • 1970-01-01
    • 1970-01-01
    • 2014-08-31
    • 2018-02-27
    • 2021-12-31
    • 1970-01-01
    • 2017-08-26
    相关资源
    最近更新 更多