問題3:git如何同步**多個遠端倉庫?
本文是我在使用git過程中總結出來的幾個小經驗,能夠解決初學者在使用遠端倉庫,如github、gitee等,可能遇到的幾個常見問題。由於本人也在不斷探索中,有新的經驗也會繼續在這裡不定期更新。
初學者看到好的專案,一般直接git clone下來。但是對於大型專案,通常有很多分支,我們可以輕量的clone專案。
# [branch]是要clone的分支名,[origin]是專案位址
git clone -b [branch]
[origin]
由於github伺服器在國外,本人經常遇到專案clone一半就斷掉的情況。解決這個問題,網上常用的是兩個方法1git clone --depth=1 [origin]
# 當然也可以二者結合
git clone -b [branch] --depth=1 [origin]
:開啟** ;
將上面的兩個ip位址存到本地hosts檔案中(該檔案的位址一般在c:\windows\system32\drivers\etc\下);
開啟cmd,在cmd命令列輸入:ipconfig/flushdns(重新整理dns)。# 示例如下
140.82.113.3 github.com
151.101.185.194 github.global.ssl.fastly.net
開啟碼雲 並註冊登入;
建立倉庫;
在新建倉庫頁選擇 「匯入已有倉庫」;
當github的龜速逼著我們使用多個遠端倉庫時,問題又來了。怎麼同步多個遠端倉庫呢?
如果只在github和gitee之間同步,還是比較容易的。首先gitee可以完美搬運github倉庫並同步,但反過來就比較麻煩了,畢竟github沒這功能。那麼我們就需要如下步驟:
本地clone一下gitee倉庫;
git clone [gitee origin]
刪除origin預設遠端庫;
git remote rm origin
再關聯github遠端庫;
git remote add origin [github origin]
最後push origin就可以了。
對於多個遠端庫中,需要用不同的名稱來標識不同的遠端庫,而git給遠端庫起的預設名稱是origin。所以我們需要修改、配置名稱,以關聯不同遠端庫。有兩種方式2
:先刪除已關聯的名為origin的遠端庫;
git remote rm origin
然後,再關聯github的遠端庫;
git remote add github [github origin]
接著,再關聯碼雲的遠端庫。
git remote add gitee [gitee origin]
修改.git資料夾內的config檔案:
將上述檔案內容[remote 「origin」]內容複製,修改origin名稱,內容如下:[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = git@github.com:user/demo.git
fetch = +refs/heads/*:refs/remotes/github/*
[branch "master"]
remote = origin
merge = refs/heads/master
通過以上兩種方式的任一種方式配置完成後,我們用git remote -v檢視遠端庫資訊:[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "github"]
url = git@github.com:user/demo.git
fetch = +refs/heads/*:refs/remotes/github/*
[remote "gitee"]
url = git@gitee.com:user/demo.git
fetch = +refs/heads/*:refs/remotes/gitee/*
[branch "master"]
remote = origin
merge = refs/heads/master
↩︎gitee git@gitee.com:user/demo.git (fetch)
gitee git@gitee.com:user/demo.git (push)
github git@github.com:user/demo.git (fetch)
github git@github.com:user/demo.git (push)
git同步**至github和gitee(碼雲)。
分享幾個小技巧
1,片斷 當我們在visual studio 2008環境下,輸入mbox按 tab 鍵將自動生成以下 system.windows.forms.messagebox.show test 還有更多技巧如輸入 region後按 tab 則將自動生成 region myregion endregion ...
幾個要注意的TIPS
我來澄清下幾個不為人注意的觀點,如果有錯,大家可以補充。1.binlog cache size 手冊上寫的範圍是global級別的。但是 實際上是這樣的 a.當對有事務的引擎來說,他是transaction級別,意思就是說限制每個transaction的buffer。b.對於非事務引擎來說,的確是g...
Git使用分享
ok,最近的專案中用到了git,做乙個分享加強記憶 git是乙個分布式版本控制工具,相比較svn而言呢,最大的特點就是去中心化,分布式了。它不依賴於某個伺服器,每個使用者的環境上面都可以拉取分支,當做主版本。它的流程是這樣的 git又分為github和gitlab,github一般用作個人或團體社群...