Git使用雜燴

akbarken發表於2013-11-07
git command list:

1.git


2.首先,選擇一個合適的地方,建立一個空目錄:
mkdir learngit
cd learngit
pwd


第二步,通過git init命令把這個目錄變成Git可以管理的倉庫:
git init
Initialized empty Git repository in /Users/michael/learngit/.git/


3.把檔案新增到版本庫


第一步,用命令git add告訴Git,把檔案新增到倉庫:
git add readme.txt
第二步,用命令git commit告訴Git,把檔案提交到倉庫:
git commit -m "wrote a readme file"    //git commit命令,-m後面輸入的是本次提交的說明,可以輸入任意內容


4.為什麼Git新增檔案需要add,commit一共兩步呢?因為commit可以一次提交很多檔案,所以你可以多次add不同的檔案,比如:


$ git add file1.txt
$ git add file2.txt
$ git add file3.txt
$ git commit -m "add 3 files."


5.$ git status   //git status命令可以讓我們時刻掌握倉庫當前的狀態


$ git diff readme.txt  //檢視difference,顯示的格式正是Unix通用的diff格式
$ git add readme.txt
$ git status
$ git commit -m "add distributed"
$ git status


6.版本回退
$ git log  //告訴我們歷史記錄  git log命令顯示從最近到最遠的提交日誌


$ git log --pretty=oneline // 如果嫌輸出資訊太多,看得眼花繚亂的,可以試試加上--pretty=oneline引數


我們要把當前版本“append GPL”回退到上一個版本“add distributed”,就可以使用git reset命令:
$ git reset --hard HEAD^   //上一個版本就是HEAD^,上上一個版本就是HEAD^^,當然往上100個版本寫100個^比較容易數不過來,所以寫成HEAD~100
HEAD is now at ea34578 add distributed




$ git reflog  //命令git reflog用來記錄你的每一次命令
$ git reflog
064e467 HEAD@{0}: commit: fix bug
18b2856 HEAD@{1}: commit: fix bug
16bf0d7 HEAD@{2}: checkout: moving from 1.7.9 to abc
16bf0d7 HEAD@{3}: checkout: moving from 1.7.7 to 1.7.9




//撤銷修改
$ git checkout -- readme.txt


用命令git reset HEAD file可以把暫存區的修改撤銷掉(unstage),重新放回工作區:


$ git reset HEAD readme.txt
Unstaged changes after reset:
M       readme.txt


刪除檔案
$ git add test.txt
$ git commit -m "add test.txt"
直接在本地檔案管理器中把沒用的檔案刪了,或者用rm命令刪了:
$ rm test.txt
兩種解決方案:
一是確實要從版本庫中刪除該檔案,那就用命令git rm刪掉,並且commit:
$ git rm test.txt
$ git commit -m "remove test.txt"
二是用版本庫裡的版本替換工作區的版本:
$ git checkout -- test.txt









































相關文章