2019 april 11
git
$ git clone [email protected]:jpe/some_repo.git # 不包含子模組
$ git submodule update --init
--recursive
# 更新子模組並初始化
方法2一次轉殖主模組和所有子模組並初始化
$ git clone --recursive [email protected]:jpe/some_repo.git
從遠端庫獲取所有主模組和所有子模組的更新
$ git fetch --all
--recurse-submodules
只有主分支,使用版本標籤建立版本分支。
$ git checkout -b v1.0.0 v1.0.0 # 從主模組切換到某個版本,建立乙個版本分支
$ git submodule update --recursive
--force
# 更新子模組到相應的版本
有版本分支
$ git checkout foo_local_branch # 從主模組切換到某個分支
$ git submodule update --recursive
--force
# 更新子模組到相應的版本
–force 選項:如果不使用,切換時,如果有檔案或目錄的增刪,會報出警告:
warning: unable to rmdir foobar: directory not empty
列出所有子模組和它們的commit
$ git submodule status --recursive
先在 github 上 fork 這個倉庫並新增遠端控制。即便是從 fork 的倉庫上轉殖的也需新增遠端對映。
$
cd fruit
$ git remote add joe_fruit_remote [email protected]:joe/fruit_repo.git
$
主模組的版本或分支與子模組的版本或分支是相互關聯的。也就是說,在子模組的版本或分支上顯示 detached head 。此外,這也是子模組提交給父模組的版本。因此,當從主模組切換到乙個本地分支並且在層次結構的子模組中修改檔案時,典型的流程是:
$ git checkout -b foo_local_branch origin/foo_remote_branch
$ git submodule update --recursive
$ cd fruit
$ git checkout -b fruit_local_branch
$ vim change_some_files_in_fruit_submodule.sh
$ $ git commit -m
$ cd ..
$ git add change_some_files_in_fruit_submodule.sh
$ git commit -m
"changes in fruit go next"
$ cd ..
$ git add -u
$ git commit -m
"commit new fruit submodule revision to main module"
修改完成之後,將修改的內容推送到 fork 的庫 (自己的庫)。一般將建立的子模組的本地分支推送到 fork 的遠端分支。因為之後的 pull request 會很簡單。
繼續上面的例子:
$
cd fruit$
$ cd ..
$ git push joe_fruit_remote fruit_remote_branch $
cd ..
$ git push origin foo_remote_branch
修改完成之後,將修改的內容推送到 fork 的源庫 (其他人的庫)。
centos下git原始碼安裝
centos5不能通過yum安裝git,只能通過原始碼安裝,原始碼安裝需要解決好依賴庫的問題。先安裝git依賴的包 yum install zlib devel yum install openssl devel yum install perl yum install cpio yum insta...
Linux下原始碼編譯安裝 Git
git是乙個開源的分布式版本控制系統,可以有效 高速的處理從很小到非常大的專案版本管理,是目前使用範圍最廣的版本管理工具。這篇部落格,介紹下linux下安裝git的步驟,僅供參考,當然,還是yum安裝,比較簡單方便。git工作流 深入理解學習git工作流 yum install git驗證安裝結果 ...
linux下git命令原始碼安裝
cd usr src wget3.解壓git安裝包 tar zxvf git 2.8.3.tar.gzcd git 2.8.34.配置git安裝路徑 configure prefix usr local git 5.編譯並且安裝 makemake install6.將git指令新增到bash中 vi...