91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Git如何修改遠程倉庫地址

發布時間:2020-09-13 22:14:23 來源:腳本之家 閱讀:293 作者:賴忠標 欄目:服務器

公司搬移, 作為git倉庫的服務器IP地址變了。 本地代碼挺多,重新檢出太占時間,可以修改一個什么配置讓我本地倉庫和新的遠程倉庫建立關聯嗎, 答案是肯定的!

方法有很多,這里簡單介紹幾種:

以下均以項目git_test為例:

老地址:http://192.168.1.12:9797/john/git_test.git
新地址:http://192.168.100.235:9797/john/git_test.git

遠程倉庫名稱: origin

方法一 通過命令直接修改遠程地址

進入git_test根目錄

git remote 查看所有遠程倉庫, git remote xxx 查看指定遠程倉庫地址
git remote set-url origin http://192.168.100.235:9797/john/git_test.git

方法二 通過命令先刪除再添加遠程倉庫

進入git_test根目錄

git remote 查看所有遠程倉庫, git remote xxx 查看指定遠程倉庫地址
git remote rm origin
git remote add origin http://192.168.100.235:9797/john/git_test.git

方法三 直接修改配置文件

進入git_test/.git

vim config 

[core] 
repositoryformatversion = 0 
filemode = true 
logallrefupdates = true 
precomposeunicode = true 
[remote "origin"] 
url = http://192.168.100.235:9797/shimanqiang/assistant.git 
fetch = +refs/heads/*:refs/remotes/origin/* 
[branch "master"] 
remote = origin 
merge = refs/heads/master

修改 [remote “origin”]下面的url即可

方法四 通過第三方git客戶端修改。

以SourceTree為例,點擊 倉庫 -> 倉庫配置 -> 遠程倉庫 即可管理此項目中配置的所有遠程倉庫, 而且這個界面最下方還可以點擊編輯配置文件,同樣可以完成方法三。

git 遠程倉庫管理

要參與任何一個 Git 項目的協作,必須要了解該如何管理遠程倉庫.遠程倉庫是指托管在網絡上的項目倉庫,可能會有好多個,其中有些你只能讀,另外有些可以寫.同他人協作開發某 個項目時,需要管理這些遠程倉庫,以便推送或拉取數據,分享各自的工作進展.管理遠程倉庫的工作,包括添加遠程庫,移除廢棄的遠程庫,管理各式遠程庫分 支,定義是否跟蹤這些分支,等等.本節我們將詳細討論遠程庫的管理和使用.

查看當前的遠程庫

要查看當前配置有哪些遠程倉庫,可以用 git remote 命令,它會列出每個遠程庫的簡短名字.在克隆完某個項目后,至少可以看到一個名為 origin 的遠程庫,Git 默認使用這個名字來標識你所克隆的原始倉庫:

$ git clone git://github.com/schacon/ticgit.git

  Initialized empty Git repository in /private/tmp/ticgit/.git/

  remote: Counting objects: 595, done.

  remote: Compressing objects: 100% (269/269), done.

  remote: Total 595 (delta 255), reused 589 (delta 253)

  Receiving objects: 100% (595/595), 73.31 KiB | 1 KiB/s, done.

  Resolving deltas: 100% (255/255), done.

  $ cd ticgit

  $ git remote

  origin也可以加上 -v 選項(譯注:此為 ?verbose 的簡寫,取首字母),顯示對應的克隆地址:

  $ git remote -v

  origin git://github.com/schacon/ticgit.git如果有多個遠程倉庫,此命令將全部列出.比如在我的 Grit 項目中,可以看到:

  $ cd grit

  $ git remote -v

  bakkdoor git://github.com/bakkdoor/grit.git

  cho45 git://github.com/cho45/grit.git

  defunkt git://github.com/defunkt/grit.git

  koke git://github.com/koke/grit.git

origin git@github.com:mojombo/grit.git這樣一來,我就可以非常輕松地從這些用戶的倉庫中,拉取他們的提交到本地.請注意,上面列出的地址只有 origin 用的是 SSH URL 鏈接,所以也只有這個倉庫我能推送數據上去(我們會在第四章解釋原因).

添加遠程倉庫

要添加一個新的遠程倉庫,可以指定一個簡單的名字,以便將來引用,運行 git remote add [shortname] [url]:

  $ git remote

  origin

  $ git remote add pb git://github.com/paulboone/ticgit.git

  $ git remote -v

  origin git://github.com/schacon/ticgit.git

pb git://github.com/paulboone/ticgit.git現在可以用字串 pb 指代對應的倉庫地址了.比如說,要抓取所有 Paul 有的,但本地倉庫沒有的信息,可以運行 git fetch pb:

  $ git fetch pb

  remote: Counting objects: 58, done.

  remote: Compressing objects: 100% (41/41), done.

  remote: Total 44 (delta 24), reused 1 (delta 0)

  Unpacking objects: 100% (44/44), done.

  From git://github.com/paulboone/ticgit

  * [new branch] master -> pb/master

  * [new branch] ticgit -> pb/ticgit

現在,Paul 的主干分支(master)已經完全可以在本地訪問了,對應的名字是 pb/master,你可以將它合并到自己的某個分支,或者切換到這個分支,看看有些什么有趣的更新.

從遠程倉庫抓取數據

正如之前所看到的,可以用下面的命令從遠程倉庫抓取數據到本地:

$ git fetch [remote-name]此命令會到遠程倉庫中拉取所有你本地倉庫中還沒有的數據.運行完成后,你就可以在本地訪問該遠程倉庫中的所有分支,將其中某個 分支合并到本地,或者只是取出某個分支,一探究竟.(我們會在第三章詳細討論關于分支的概念和操作.)

如果是克隆了一個倉庫,此命令會自動將遠程倉庫歸于 origin 名下.所以,git fetch origin 會抓取從你上次克隆以來別人上傳到此遠程倉庫中的所有更新(或是上次 fetch 以來別人提交的更新).有一點很重要,需要記住,fetch 命令只是將遠端的數據拉到本地倉庫,并不自動合并到當前工作分支,只有當你確實準備好了,才能手工合并.(說 明:事先需要創建好遠程的倉庫,然后執行:git remote add [倉庫名] [倉庫url],git fetch [遠程倉庫名],即可抓取到遠程倉庫數據到本地,再用git merge remotes/[倉庫名]/master就可以將遠程倉庫merge到本地當前branch.這種分支方式比較適合獨立-整合開發,即各自開發測試好后 再整合在一起.比如,Android的Framework和AP開發.

可以使用--bare 選項運行git init 來設定一個空倉庫,這會初始化一個不包含工作目錄的倉庫.

  $ cd /opt/git

  $ mkdir project.git

  $ cd project.git

  $ git --bare init這時,Join,Josie 或者Jessica 就可以把它加為遠程倉庫,推送一個分支,從而把第一個版本的工程上傳到倉庫里了.)

如果設置了某個分支用于跟蹤某個遠端倉庫的分支(參見下節及第三章的內容),可以使用 git pull 命令自動抓取數據下來,然后將遠端分支自動合并到本地倉庫中當前分支.在日常工作中我們經常這么用,既快且好.實際上,默認情況下 git clone 命令本質上就是自動創建了本地的 master 分支用于跟蹤遠程倉庫中的 master 分支(假設遠程倉庫確實有 master 分支).所以一般我們運行 git pull,目的都是要從原始克隆的遠端倉庫中抓取數據后,合并到工作目錄中當前分支.

推送數據到遠程倉庫

項目進行到一個階段,要同別人分享目前的成果,可以將本地倉庫中的數據推送到遠程倉庫.實現這個任務的命令很簡單: git push [remote-name] [branch-name].如果要把本地的 master 分支推送到 origin 服務器上(再次說明下,克隆操作會自動使用默認的 master 和 origin 名字),可以運行下面的命令:

$ git push origin master只有在所克隆的服務器上有寫權限,或者同一時刻沒有其他人在推數據,這條命令才會如期完成任務.如果在你推數據前,已經有其他人推送了若干更新,那 你的推送操作就會被駁回.你必須先把他們的更新抓取到本地,并到自己的項目中,然后才可以再次推送.有關推送數據到遠程倉庫的詳細內容見第三章.

查看遠程倉庫信息

我們可以通過命令 git remote show [remote-name] 查看某個遠程倉庫的詳細信息,比如要看所克隆的origin 倉庫,可以運行:

  $ git remote show origin

  * remote origin

  URL: git://github.com/schacon/ticgit.git

  Remote branch merged with 'git pull' while on branch master

  master

  Tracked remote branches

  master

ticgit除了對應的克隆地址外,它還給出了許多額外的信息.它友善地告訴你如果是在 master 分支,就可以用git pull 命令抓取數據合并到本地.另外還列出了所有處于跟蹤狀態中的遠端分支.

實際使用過程中,git remote show 給出的信息可能會像這樣:

  $ git remote show origin

  * remote origin

  URL: git@github.com:defunkt/github.git

  Remote branch merged with 'git pull' while on branch issues

  issues

  Remote branch merged with 'git pull' while on branch master

  master

  New remote branches (next fetch will store in remotes/origin)

  caching

  Stale tracking branches (use 'git remote prune')

  libwalker

  walker2

  Tracked remote branches

  acl

  apiv2

  dashboard2

  issues

  master

  postgres

  Local branch pushed with 'git push'

master:master它告訴我們,運行 git push 時缺省推送的分支是什么(譯注:最后兩行).它還顯示了有哪些遠端分支還沒有同步 到本地(譯注:第六行的 caching 分支),哪些已同步到本地的遠端分支在遠端服務器上已被刪除(譯注:Stale tracking branches 下面的兩個分支),以及運行 git pull 時將自動合并哪些分支(譯注:前四行中列出的 issues 和 master 分支).(此命令也可以查看到本地分支和遠程倉庫分支的對應關系.)

遠程倉庫的刪除和重命名

在新版 Git 中可以用 git remote rename 命令修改某個遠程倉庫的簡短名稱,比如想把 pb 改成 paul,可以這么運行:

  $ git remote rename pb paul

  $ git remote

  origin

paul注意,對遠程倉庫的重命名,也會使對應的分支名稱發生變化,原來的 pb/master 分支現在成了paul/master.

碰到遠端倉庫服務器遷移,或者原來的克隆鏡像不再使用,又或者某個參與者不再貢獻代碼,那么需要移除對應的遠端倉庫,可以運行 git remote rm 命令:

  $ git remote rm paul

  $ git remote

  origin

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永济市| 抚顺市| 邵阳市| 辽阳市| 大姚县| 新津县| 邹平县| 济源市| 长沙县| 东阳市| 安泽县| 广元市| 淮阳县| 化隆| 台湾省| 汝南县| SHOW| 盖州市| 大新县| 凤城市| 永川市| 景德镇市| 略阳县| 奉贤区| 南澳县| 韩城市| 屏边| 宁河县| 弥渡县| 和政县| 乐都县| 昌宁县| 革吉县| 驻马店市| 庆元县| 南丰县| 义马市| 彭泽县| 鲜城| 保山市| 鄂伦春自治旗|