好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > git的遠程分支的作用和本地分支有什么區別

git的遠程分支的作用和本地分支有什么區別

熱門標簽:地圖標注項目幾個月 聯通外呼系統電腦app軟件 蘇州呼叫中心外呼系統哪家強 鶴壁高頻外呼系統多少錢一個月 宿遷怎么辦理400電話 400電話辦理費用低 外呼系統怎么群發短信 400電話申請到底哪家好 谷歌地圖標注日期

不知道大家有沒有經歷過,當我們切換到了一個新的分支想要提交代碼的時候,總會遇到這樣的錯誤。

我們把日志里的英文翻譯過來是說,我們當前的分支沒有設置任何上游分支。然后git提示我們可以運行下面這行代碼來設置遠程的上游,這樣我們就可以push成功了。

當然如果我們push的時候執行的不是git push,而是后面再加上origin的話,就可以push成功了。比如這樣:

那么這是什么原因呢?這個origin分支又是什么意思呢?我們今天就來討論一下這個問題。

遠程分支

遠程分支其實就是遠程代碼倉庫當中的分支,比如我們的repo如果是存在github的,那么這個遠程倉庫就是github,如果是存在gitlab的,那么這個倉庫就是gitlab,如果是其他的倉庫也是一樣的道理。

當我們在使用git clone的時候,git會自動地

將這個遠程的repo命名為origin,拉取它所有的數據之后,創建一個指向它master的指針,命名為origin/master,之后會在本地創建一個指向同樣位置的指針,命名為master,和遠程的master作為區分。

也就是說,origin的含義指的是遠程的倉庫。它只是一個標記,就和默認分支叫做master一樣,本身并沒有特別的含義。如果我們愿意也可以起其他的名字,但是一般沒有人這么干。比如我們在clone的時候可以添加一個參數-o給遠程的repo起一個別名:

這樣一來,遠程的這個repo就會被命名為chengzhi,代替原本的origin。但是這樣除了裝逼和增加成本之外,沒有任何用處,不推薦這么干。

操作命令

還記得我們之前在介紹git的時候曾經說過遠程repo的作用,就是為了防止本地的代碼錯亂,所以在遠程留一份備份。這樣即使我們的代碼完蛋了,至少還可以找到備份。

所以遠程的repo最大的作用就是保留備份,既然要保留備份,那么我們本地和遠程的代碼交互肯定是免不了的。大家可能都大概知道git pull從遠程拉取,git push推送到遠程,但是對于這其中的細節可能不太清楚。之前沒有詳細介紹過遠程分支,所以也沒辦法深入,我們今天剛好聊到這個話題,正好好好說道說道。

代碼拉取

我們先說代碼拉取,說到代碼拉取大家的第一反應可能是git pull。但是其實git pull并不是嚴格意義上的代碼拉取命令,至少它還不是最細粒度,其實還有一個比git pull更加細粒度的操作。它就是——git fetch。

git clone -o chengzhi

實際上git fetch才是真正的代碼拉取的操作,它的作用是將遠程的改動同步到本地。當我們執行git fetch origin的時候,這里的origin指的是遠程的名字,如果你有多個遠程的話要指定的話需要加上,否則可以不寫。它會把遠程所有的改動和分支都拉取到本地,命名為origin/xxx。origin的分支我們用git branch是看不到的,它只能看到本地的分支名,如果想要查看可以使用git branch -r。

當我們使用git checkout切換過去的時候,可以不必加上origin,git會自動生成一個本地的分支指針,也指向同樣的節點。它相當于我們執行了git checkout -b test origin/test。說到這里就需要提一下git pull和git fetch的區別了,這兩者從表面上來看都是拉取遠程的改動。但是兩者針對的范圍不同,git fetch針對遠程的所有改動,而git pull只針對當前分支對應的遠程分支。另外git pull執行之后會將遠程的改動merge到本地的分支,也就是說它其實多了一步merge的操作。

代碼推送

說到代碼推送回到了我們開頭的那個問題,什么情況下git push就可以,什么情況下需要加上origin呢?

這里涉及一個機制就是本地的分支是不會自動和遠程同步的,比如遠程有人創建了一個test分支,我們拉取到本地會叫做origin/test。我們也可以自己創建一個test分支,和它井水不犯河水。這也是為了方便,如果直接用名稱映射的話,可能會有潛在的沖突。并且由于可能會存在多個遠程repo,所以我們push的時候也會有多種選擇。

最完整的push命令是應該寫成這樣的:

git push origin test:cz/test

我們注意到這里用了一個奇怪的寫法test:cz/test,它的意思是說將本地的test分支推送到遠程作為cz/test分支。如果我們想要本地的名稱和遠程一樣,我們可以省略簡寫成:git push origin test。

如果我們設置過當前test分支的上游是遠程的test,或者本地的test就是從origin拷貝過來的,那么我們可以直接git push,它會自動將本地的分支與遠程關聯上,會方便很多。實際上我們大多數的push操作都是這么進行的。將本地分支和遠程建立映射可以使用這個命令:

git branch --set-upstream-to master origin/master

它表示的是將本地的master和遠程的master進行關聯,設置過關聯之后我們只需要git push和git pull就可以更新和推送這個分支了,會方便很多。

關于遠程分支還有一些內容我們沒有涉及,比如如何跟蹤遠程的分支,如何刪除等等。由于這些內容幾乎用不到,我們即使強行記住了到時候也會忘記,所以就不多贅述了。

到此這篇關于git的遠程分支的作用和本地的有什么區別的文章就介紹到這了,更多相關git遠程分支內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 詳解Git合并分支的流程步驟
  • git push 本地項目推送到遠程分支的方法(git命令版)
  • git 將本地文件(夾)上傳到gitee指定分支的處理方法
  • idea手動刷新git分支的詳細教程
  • Git命令之分支詳解

標簽:哈爾濱 襄陽 錫林郭勒盟 丹東 遵義 鄂爾多斯 雙鴨山 莆田

巨人網絡通訊聲明:本文標題《git的遠程分支的作用和本地分支有什么區別》,本文關鍵詞  git,的,遠程,分支,作用,和,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《git的遠程分支的作用和本地分支有什么區別》相關的同類信息!
  • 本頁收集關于git的遠程分支的作用和本地分支有什么區別的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 宋雨琦下面好紧好湿好爽| 我爱发明| 医生扒开腿揉捏花蒂h| 久久精品2019中文字幕| 日本激情图片| 亚洲国产精品区| 人妻奶水人妻系列50部| 成人AY视频黄app?入口| 一级淫| 美女脱粪| 女强男弱啪哭男主h| 看着领导挺进娇妻的体内| 很黄很色的视频| 猎奇 重口 虐杀 血腥 肢解小说| 欧美同性猛男Gay 69| 女仆扒开腿秘?让人桶爽的电影| 4k岛国日韩精品无码专区| 乱肉yin荡合集小说| 韩国青草无码自慰miyue| 大乳videos巨大吃奶BBw| 成人午夜A片一区二区三区| 打赌输了,调教班花隐私| 天天做天天爱天天综合网| 翁虹的三级dvd在线看| 大乳秘书被cao到哭H| 91麻豆精品国产91久久久久推荐资源| 看全色黄大色黄大片大学生| 久久思思精品| 粉红视频在线观看| 夜爽爽8888妓女免费| 性做爰A片免费视频美国7天网| 精精国产xxxx视频在线播放器| 怎样弄到自己喷泉| 国产女主播喷水视频在线| 粗大猛烈进出| 香港三级绝色杨贵妃| 国产女人高潮叫床视频大片| 亚洲国产精品综合久久一线| 弱攻×强壮饥渴受h| 男人的j进女人的p视频| 妻子的视频完整版韩国|