Selected Category: tech (2)

View Mode: Post List Post Summary

發現之前的介紹有許多謬誤,再重新發表一次。

在這裡有很清楚的描寫:Git Submodule Tutorial

如何 Check out 內含 submodule 的 repository (Ex: super)

#git clone {REPO_PATH}/super
#cd super
#git submodule update --init (這行會對 .git/config 補上 submodule 的敍述,同時更新所有的 submodule)

在 super repo 底下更新所有的 submodule repo

# (在 super 根目錄下)
#git pull (會發現有些 submodule 變成 modified)
#git submodule update --init

修改 submodule 的 commit push 流程(Ex: sub-repo)

#(在 sub-repo 下修修改改後)
#git commit -m 'commit log'
#git push
#(回到 super 的根目錄)
#git commit -a -m 'submodule modified'
#git push

要注意的是,使用 git submodule update --init 所 checkout 的 submodule branch 為一個 no name branch. 所以要直接在有 super repo 底下的 submodule 裡做 commit 的話,要先切到可以提交 push 的 branch.(Ex: git checkout master)

在 super repo 下新增 submodule repo: sub-repo2

#(在 super 根目錄下)
#git submodule add {REPO_PATH}/sub-repo2 sub-repo2 (後面的 sub-repo2 可以自訂為你想要的 path name,比方說 loli
#git commit -m 'add submodule sub-repo2'
#git push
#git submodule init sub-repo2 (這行會對 .git/config 補上 submodule 的敍述)

 

刪除 submodule 原文寫的很清楚了,這裡就不再提。

 

Posted by 沒力小僧 at 痞客邦 PIXNET Comments(0) Trackback(0) Hits(741)

要在 Windows 上使用 Git,可以使用 msysgit + tortoisegit
msysgit 是 Git 的核心,而 tortoisegit 則是提供一個不錯的 UI。

簡單的安裝順序:

  • 先安裝 msysgit
  • 選擇 PATH 時請選 Please choose add git path to windows command line,配合 tortoisegit
  • 安裝 tortoisegit,安裝完後會要求重開機。
  • 重開機後,點選任一資料夾右鍵選擇 git bash 進入 command line 視窗
  • 生好你的 public key 後,記得先連線到你的 git server
    #ssh yourgitserver
    會這麼做的原因是第一次登入時會有這個問題
    The authenticity of host 'gitserver' can't be established.
    DSA key fingerprint is 73:da:f4:e6:77:9c:27:44:1a:ca:eb:72:f1:fa:c8:08.
    Are you sure you want to continue connecting (yes/no)?

    如果不在這裡先主動連一次的話接下來在 tortoisegit 做事時會爛掉。
  • 將你的 public key 丟上你的 git server 後就可以正常做事了。

另外要注意的事:

  • 這兩個軟體都在持續更新,而且很快,我也是最近才發現終於堪用,建議常常去看有沒有得更新。
  • 請不要用非 Ascii Code 的語系為檔名(比方說中文檔名),在不同 codepage 的 system 上會出問題,因為 git 是存 raw bytes.詳情可以看這裡

 

Posted by 沒力小僧 at 痞客邦 PIXNET Comments(2) Trackback(0) Hits(1923)