Git的常用命令
首先在命令行裏面輸入git,會出現下面的提示表示git安裝成功了
首先在E盤下的MyGit文件夾下面新建一個test,然後cd到這個test文件夾下面。
git init
當前的test文件夾下面不是一個Git倉庫,調用這個命令來初始化爲git倉庫。
git status
這個命令是用來查看狀態的,沒事可以調用試試查看當前的狀態。
git add
現在在test文件夾下面創建一個xx.txt文件,先調用git status命令看看它當前的狀態
可以看到這個xx.txt文件提示還沒有提交到倉庫中沒有被追蹤,使用add命令提交,現在調用git add xx.txt再調用git status看狀態
這是表示這個xx.txt等待被提交,也可以使用git rm命令移除這個緩存。
git add . 可以add改路徑下的所有文件
git commit
接着繼續提交,輸入git commit -m “test commit”,-m後面跟的是這次提交的說明信息,這時再輸入git status命令可以看到已經沒有需要提交的信息了。其實之前的add命令是把提交到一個緩衝區,調用commit纔是真正的提交。
git log
可以看我們commit的記錄。
在commit後面跟了一串字符,這個是代表這次提交的ID,還有一些提交日期和提交人的信息,當然如果不需要這些信息,可以在命令後面加上“–pretty=online”
git reset
版本回退,現在我們回退到第一次操作時,利用git log找到第一次提交的ID,執行下面操作
再次執行git log操作可以看到只有一條commit記錄了,再打開xx.txt看也回到了最初的狀態。
那麼現在還能不能回到回退之前的版本呢,當然是可以的,還是調用相同的指令,傳入不同的ID就可以了。如果這時你找不到之前的id,可以調用git reflog指令來查看。
git reflog
HEAD前面就是ID,用這個ID再次回到之前的版本就可以了。
現在修改一下xx.txt裏面的內容,調用git status看看
可以看到這個文件是被修改但是沒有提交,使用add和commit進行提交,也可以是使用git checkout來捨棄這次修改。
git checkout – < file >
剛纔看到了修改後提示可以調用這個命令去捨棄修改,現在試試看,先修改一哈xx.txt文件,再調用。
這時再去看看xx.txt文件,你會發現它的修改被撤銷了,回到了沒有修改前的狀態。
git rm < file >
這個命令用來刪除文件
git rm -r –cached 某個目錄
刪除某個目錄下的add後的緩存,並不會刪除物理文件
git rm -r –f “文件路徑”
直接刪除某個目錄下的物理文件
git branch
branch也就是分支,在團隊合作的時候很重要,我們在執行了git init指令後,倉庫會自動生成一個主分支master,之前的操作我們都是在master分支上面執行的,應該儘量不要直接在主分支上面進行操作,又比如兩個人操作同一個項目的不同模塊,顯然這樣是不可能都去操作主分支的,不然會產生影響。所以這時就需要兩個人各自建立一個分支,分別在各自的分支上面操作,當完成測試後再進行合併到主分支上面。
這個命令是查看當前分支的狀況。
那麼如何去新建一個分支呢,直接在git branch 後面加上新建分支的名字就好了,如下所示:
這裏新增了一條叫x的分支,然後再次調用git branch可以看到已經多出一條x的分支。可以看到master分支前面有個*號,並且是綠色的,這代表是當前操作所在的分支。
git checkout
切換分支,默認都是在master分支下面的,新建分支後我們還需要切換到這個分支下面,如下所示可以看到已經切換到x分支下面了
git checkout -b
新建一個分支,並且切換到這個分支,一步到處,如下所示
git merge
當分工合作的兩個同學完成並測試後,就需要把各自的模塊同步到主分支master上面來,git merge 就是合併分支用到的命令,針對這個情況,需要先做兩步,第一步是切換到 master 分支,如果你已經在了就不用切換了,第二步執行 git merge a ,意思就是把a分支的代碼合併過來,不出意外,這個時候a分支的代碼就順利合併到 master 分支來了。
git branch -d
刪除分支,當這個分支錯誤或者已經合併到主分支不需要了,那麼調用這個指令去刪除。
git branch -D
有些時候可能會刪除失敗,比如如果a分支的代碼還沒有合併到master,你執行 git branch -d a 是刪除不了的,它會智能的提示你a分支還有未合併的代碼,但是如果你非要刪除,那就執行 git branch -D a 就可以強制刪除a分支。