2013年8月27日 星期二

git note

git要創造repository的方式有兩種
  1. git init
  2. git clone
第一種,就是你在cmd中,先移到你要的目錄然後輸入git init,就會產生.git的directory,裡面當然就是包含著一些有的沒的,用來確認檔案狀態阿,還有一些configuration,目前不會深入講解那些。

第二種,就是比如你在網路上看到一些open source比如像這個,你有興趣想要把它整個下載下來,這時候如同上面先移到你要的目錄,然後輸入 git clone https://github.com/django/django.git 這樣就會將整個repository下載下來。



圖案來源是前一篇所堤到的電子書裡面的 :) 目前正在閱讀中

git對於檔案有分為上面這幾種狀態
對於repository裡面的檔案狀態,你隨時可以輸入git status來查看

舉例:
剛開始一個空的repository,如果你輸入git status則會告訴你nothing to commit,意指沒有檔案被修改,接著你創了一個readme.txt,再輸入一次這指令,它就會告訴你你有untracked file: readme.txt,所以當你想要讓git開始track這個檔案的時候就得輸入 git add readme.txt,如此一來這個檔案就處於staged的狀態,再來如果你修改了readme.txt,這時候檔案就處於modified狀態,必須再輸入一次git add讓它再一次處於staged狀態。

為何要讓檔案處於staged狀態呢? 因為git commit這指令只會commit那些檔案處於staged狀態。其實這些指令還有很多詳細的用法,你只要在cmd中輸入git help就會跑出一堆git可以用的指令,然後在更進一步比如你想要知道git add有什麼其他用法,那就輸入git help add,就會有更詳細的解說。

另外你可以寫一個.gitignore檔案,在裡面寫你想要避免被add到staged的檔案像是
*.[o]這樣可以避免所有副檔名為o的檔案
為何會有這種東西的存在呢?因為有時候你不想一個檔案慢慢add吧這時候你可以輸入git add -A就會把所以在目錄下的檔案都add到staged,所以不想有個萬一的話,就寫的.gitignore檔吧


大致上git其實也沒什麼好要去理解的,我想只要把git內部如何運作稍微了解,指令什麼的只要查一查用一用就好了:)




0 意見:

張貼留言