日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

fork 与 branch、clone 的区别

發(fā)布時間:2024/4/13 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 fork 与 branch、clone 的区别 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

fork 與 branch、clone 的區(qū)別

  • fork
  • branch
  • clone

??對于沒有使用 git 進行企業(yè)級的多人協(xié)作的 git 使用者來說,往往認(rèn)為使用 git 進行代碼倉的操作的過程中,fork 得到的結(jié)果就相當(dāng)于一個新的 branch,但實際上,這是完全不同的概念。另外,也有人分不清 fork 與 clone 的區(qū)別,筆者也在此一并解釋一下。

fork

??fork 的原意是“叉子”,一種西方人的餐具(西方人很喜歡使用與飲食相關(guān)的內(nèi)容來命名),這相當(dāng)于中國人的筷子。對于一個菜,大家可以使用筷子一起吃,因此,fork 是一種實現(xiàn)多人協(xié)作的方式。

??fork 只能對代碼倉進行操作,且 fork 不屬于 git 的命令,它是遠程代碼倉托管平臺的一種“操作”,一般還是該平臺網(wǎng)站上的一個可點擊的文字,在點擊該文字之后就可以觸發(fā) fork 操作。對于遠程的原代碼倉,使用 fork 之后,得到的是該遠程倉的一個副本,但其(副本倉)的所有人變成了使用的 fork 的人(為了簡化描述,下面假設(shè)使用的 fork 的人是你)。之所以說 fork 得到的代碼倉的所有者變成了你,是因為該倉的 clone 中的 URL 變成了關(guān)于你的 URL,而原代碼倉的 clone 中的 URL 是關(guān)于該原代碼倉所有者的 URL。在這個意義下,fork 相當(dāng)于對代碼倉的“copy”。但是,對原代碼倉使用 fork 得到的副本倉,遠程代碼倉管理網(wǎng)站會保留副本倉與原代碼之間的一種“聯(lián)系”。這種“聯(lián)系”并不是它們之間的同步更新,因為這種同步更新的技術(shù)是不可能實現(xiàn)的,原因是多人協(xié)作提交的代碼有可能引起沖突。這種“聯(lián)系”只是標(biāo)記此副本倉是從原代碼倉中使用 fork 得到的,這對以后將進行的從副本倉到原代碼倉的代碼合入提供了可能。

branch

??branch 的原意是“分支”。這很好理解,這意味著新 branch 是為原 branch 提供了一種新的開發(fā)方向。

??branch 只能對某一分支(branch)或提交(commit)進行操作,它是 git 的一種命令,操作結(jié)果是建立一個新分支。然后使用 checkout 到新分支之后,以后提交將建立一個與原分支相對獨立的一個提交記錄。這些特征好像與 fork 很類似,但 fork 得到的是一個新的、自己的代碼倉,而 branch 得到的是一個自己的代碼倉的一個新分支,兩者在概念上大相徑庭。

clone

??clone 的一詞容易讓人望文生義。有人說它就是“copy”,但實際上它的含義更接近“download”,而 fork 更接近于“copy”。

??clone 是 git 的一種命令,它的作用是將文件從遠程代碼倉下載到本地,從而形成一個本地代碼倉,而這個遠程代碼倉可以是自己的遠程代碼倉,也可以是他人的,只要能獲取該代碼倉關(guān)于命令 clone 的 URL 即可。clone 與 fork 的區(qū)別在于,fork 是將遠程別人的代碼倉,創(chuàng)建一個自己的遠程副本,而 clone 是將遠程的某個代碼倉,創(chuàng)建一個自己的本地副本,而這“某個代碼倉”可以是遠程自己的代碼倉,也可以是他人的。

總結(jié)

以上是生活随笔為你收集整理的fork 与 branch、clone 的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。