[英]maven unable to resolve dependecies from local repository instead of fetching everytime from centralized repository
[英]Centralized Git repository starting from local
假設我想使用類似 SVN 的工作流來解決 Git 存儲庫(因此每個開發人員都引用了一個 URL 上的集中存儲庫)。
我知道您可以不受限制地推送到 Bare 存儲庫(但有組權限等),但是如果不使用 force 選項,則不能在常規存儲庫上。 所以像中央存儲庫這樣的“SVN”應該被初始化為裸。 我理解正確嗎?
現在,我想知道從已經有 git 存儲庫(還沒有克隆或遠程鏈接)、源文件以及可能有 1 個以上分支的本地文件夾中生成集中存儲庫的最短方法是什么。
現在我使用以下方法,但我不確定它是否足夠:
在遠程文件夾 my_project.git 上:
git init --bare
現在只在本地文件夾 my_project 上使用現有的 repo :
git remote add origin url_to_my_project.git
git push -u --all
這夠了嗎 ?
當我在另一個本地位置克隆集中式存儲庫時,新存儲庫似乎並不完全等同於原始本地副本。 在使用git branch -a
命令時,我有兩種不同的結果,我的 git 知識目前還不足以理解發生了什么。
在原始本地存儲庫上:
> git branch -a
* master
remotes/origin/master
在從集中遠程克隆的本地存儲庫上:
> git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/master
這兩個副本看起來不一樣究竟發生了什么?
提前致謝。
所以像中央存儲庫這樣的“SVN”應該被初始化為裸。 我理解正確嗎? 推送到裸存儲庫(沒有檢查任何工作樹,這可能會受到推送的影響)是最佳實踐。
git init --bare; # local: git remote add origin url_to_my_project.git git push -u --all
這夠了嗎 ?
是的。
如果您有一個偵聽器:ssh 守護程序(如“ 在服務器上獲取 Git ”中所述)或 HTTPS 服務器(用於智能 HTTP )
當我在另一個本地位置克隆集中式存儲庫時,新存儲庫似乎並不完全等同於原始本地副本。
當使用git branch -a
命令時,我有兩種不同的結果,
這是預期的:
git push --all
確實會推送refs/heads
/ 下的所有分支
-u
部分添加上游(跟蹤)引用,由無參數git pull
和其他命令使用。
第二個克隆上的git branch -a
確實列出了遠程 repo 引用的符號分支。
origin/HEAD
代表您剛剛克隆的遠程存儲庫上的默認分支。
第一個存儲庫(您推送的)無法知道的東西,因為您正在推送到一個空存儲庫(還沒有默認分支)
遠程存儲庫上的分支被重命名為本地副本上的remote/<remote-name>/<branch-name>
(默認情況下),以避免本地和遠程存儲庫之間的名稱沖突。
如果您想要類似 SVN 的行為(即共享相同的分支命名空間),您可以根據需要編輯.git/config
上的映射:
# default configuration ('master' branch on remote corresponds to 'remotes/origin/master' branch on local)
[remote "origin"]
url = git@github.com:example/url_to_my_project.git
fetch = +refs/heads/master:refs/remotes/origin/master
例如:
# SVN-like configuration ('master' branch on remote corresponds to 'master' branch on local)
[remote "origin"]
url = git@github.com:example/url_to_my_project.git
fetch = +refs/heads/master:refs/heads/master
也就是說,這不是推薦的或可擴展的方式,因為您需要在存儲庫的每個克隆上配置此映射。
有關更多詳細信息,請參閱Git Book和相關問答中的 refspec 部分。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.