why git:
0. git是分散式的, cvs/svn是集中式的, 現在流行的還有mercury, bazaar等。
1. git 是 Linus大牛搞的
2. git 有不少免費的repo,如github等。
3. git 的速度是最快的,從算法到設計實現都很好。
-- 開始 --
假設你的project裝在project這個目錄里:
首先,初始化:
git init
必做的一步。
然后,把要跟蹤的文件加進去,這里加入整個目錄
git add .
scenario: 當你新寫了幾個文件,想讓git"知道"他們的存在時,使用add。
提交更改:
git commit -a
然后會要求你輸入一些這次提交的內容。
scenario: 當你完成了某些階段性的工作,想保存更改時使用。
不同的branch代表不同的開發流程,由于默認有一個master branch,當我們想搞一些新東東,可以新開一個branch
git checkout -b mybrch
scenario: 當你想測試新的idea時使用
然后在不同branch之間切換
git checkout master/mybrch/...
scenario: 在不同idea之間切換時使用
查看更改:
git status
scenario: 查看你當前到上一次提交之間做了些蝦米。
一個新手要用到的,就這么多,不用了解原理死記都能記住~
具體要做到什么功能,就到時再查即可。
-- 使用repo(倉庫) --
利用公共的repo,如github
加入新的repo:
git repo add ...
scenario: 設定一個repo
推送你的更改到server
git push branch_name
scenario: 你想把你的更改放到server上,以便讓他人看到并下載。
下載
git pull branch_name # 這是下載并merge
git fetch branch_name # 這是下載但不merge,可以先對比再決定merge與否。
scenario: 當你想下載別人的代碼、把工作合并時使用。
就這么簡單。
2 comments:
说实话,除了研究linux kernel source之外我唯一知道使用git的project只有gnuwin32 Coreutils和decuda.
还有libx264。看来我受svn系影响严重了。
Post a Comment