顯示具有 git 標籤的文章。 顯示所有文章
顯示具有 git 標籤的文章。 顯示所有文章

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內部如何運作稍微了解,指令什麼的只要查一查用一用就好了:)




2013年8月26日 星期一

start to use git





其實以前就有用過一點git,那時候的我覺得畢竟我很少寫大型的program,實在不怎麼需要用到version control這種工具,但是隨著日子久了,我發現從以前到現在的累積的code檔案數量也不少呢,只是這些檔案我也想要有個備份,所以我就放在網路上面的空間囉 :) 那些檔案大概是不太會再動了:) 但是為什麼今天我又要用git呢? 只是要做備份又何必要用到git? 沒錯! 純粹備份是不需要用到version control的,一般的存放空間即可。

但是有時候我突然在想如果我在不同的地方,想要繼續把某個code給完成,這時候我就得先想過,我曾經在某地方是否下載過,然後做了一些修改,最後是否有上傳呢? 如果沒有的話,那我現在寫的這些又該怎麼跟之前寫過的合併?



 嘿嘿,version control這種工具就有提供merge這種功能,可以把兩種不同版本的code給merge起來,你可以先把目前寫的上傳上去,然後在回去把之前修改過的也上傳上去,最後在merge,一切輕鬆,而且另外的情形是,萬一你修改了很多很多的code,然後你突然後悔了想要復原這些修改,又剛好你在寫之前沒備份,這時候git就方便拉,它有功能是可以讓你回到上一個版本的樣子呢。

version control是不錯用的工具,所以我想說乾脆以後如果要寫什麼program的話,乾脆就用git這version control的工具,放在github這樣,順便也可以當作備份呢 :)

只是git我目前也不怎麼熟悉,所以打算做一些做記錄,免得忘記一些指令該怎麼用 :)

這是官網 上面有免費的電子書,可以下載下來,想學git就去看吧