亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

操作遠程倉庫

標簽:
Git

远程仓库

远程仓库是指托管在网络上的版本库。
通常情况下,在执行 git clone 一个仓库的时候,就会自动将 URL 添加为远程仓库地址并命名为 “origin”。

查看远程仓库
git remote

运行该指令, 会列出已经添加的远程仓库的名字,至少能看到 origin。
指定选项 -v,会显示远程仓库的名字与其 URL。

$ git remote -v
origin  https://github.com/AttitudeToLife/test.git (fetch) # 更新到本地仓库的URL
origin  https://github.com/AttitudeToLife/test.git (push) # 推送到远程仓库的URL

如果想查看某一个远程仓库的更多信息,可以使用下面的指令:

git remote show [remote-name]

例子:

$ git remote show origin
* remote origin
  Fetch URL: https://github.com/AttitudeToLife/test.git
  Push  URL: https://github.com/AttitudeToLife/test.git
  HEAD branch: main # 主分支
  Remote branches: # 远程仓库的分支列表
    main                      tracked # 远程仓库的分支列表
    refs/remotes/origin/test3 stale (use 'git remote prune' to remove)
    test1                     tracked
    test2                     new (next fetch will store in remotes/origin)
  Local branches configured for 'git pull':
    main  merges with remote main
    test1 merges with remote test1
    test3 merges with remote test3
  Local refs configured for 'git push':
    main  pushes to main  (up to date)
    test1 pushes to test1 (up to date)

1、在远程仓库的分支列表中,tracked 状态表示分支已被跟踪,可以正常将本地分支与远程分支进行同步。
2、stale (use ‘git remote prune’ to remove) 状态表示远程仓库的 test3 已被删除,但是本地仓库列表中仍然有这个分支的引用。
建议使用 git remote prune [remote-name] 来删除已经不存在的远程分支引用( 只是删除远程引用 origin/test3,而不是本地分支 test3 )。

$ git remote prune origin
Pruning origin
URL: https://github.com/AttitudeToLife/test.git
 * [pruned] origin/test3 # 成功删除了 origin/test3 这个远程分支的引用

3、new (next fetch will store in remotes/origin) 状态表示远程仓库有新的分支,但是新分支还没有添加到本地的远程分支列表中。
建议使用 git fetch 将新的远程分支添加到本地的远程引用列表中( 只是添加远程引用 origin/test2,而不是在本地新建分支 test2 )。

$ git fetch                           
From https://github.com/AttitudeToLife/test
 * [new branch]      test2      -> origin/test2 # 新增 origin/test2 分支的引用

如果不清楚 git remote prune origingit fetch 执行的效果,可以参考下面 vsCode 的截图:
图片描述

4、Local branches configured for ‘git pull’ 表示本地分支与远程分支的合并关系,即在执行 git pull 时,本地分支 main、test1 和 test3 分别与远程的 main、test1 和 test3 分支进行合并。
5、Local refs configured for ‘git push’ 表示本地分支与远程分支的推送关系,即在执行 git push 时,本地分支 main、test1 和 test3 分别推送给远程的 main、test1 和 test3 分支。

拉取远程仓库
git fetch
git pull

以上两个指令,都可以从远程仓库拉取数据到本地仓库,但是两者略有不同:
git fetch 指令从远程仓库拉取数据时,不会修改工作目录中的内容,需要我们自己去合并( git merge )。
git pull 指令可以认为是 git fetchgit merge 的组合体,拉取数据后马上将其合并进当前所在的分支。

推送到远程仓库
git push

该指令可以将本地分支备份到远程分支。
如果在这个分支上,已经有其他人在你之前推送过数据,那么,必须先将他们的内容拉取下来并将其合并进你的工作区后才能推送。

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
Web前端工程師
手記
粉絲
1.4萬
獲贊與收藏
860

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消