Git 本地倉庫常用操作
阿新 • • 發佈:2018-12-29
1.安裝git
在Ubuntu上安裝git
sudo apt-get install git
2.初始化git
#告訴git,自己的名字與郵箱
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
3.安裝完後,在Ubuntu中建立版本庫
#建立git倉庫檔案
cd /root/xichuan
mkdir git
cd git
#初始化倉庫,告訴git,/root/xichuan/git就是版本倉庫
git init
4.嘗試在倉庫中新增一個檔案,並提交到本地倉庫
touch test.txt
#將檔案新增到暫存區
git add test.txt
#git status命令可以讓我們時刻掌握倉庫當前的狀態
git status
#進行提交, -m後面輸入的是本次提交的說明,可以輸入任意內容,當然最好是有意義的
git commit -m "this is the first doc"
#這樣就將所建立的檔案提交到本地倉庫上了
5.再次在檔案中新增文字
#在test.txt中新增一行文字
vi /test.txt
this is the test word!
##會發現git提示readme.txt檔案被修改
git status
##git告訴我們,test.txt修改了哪幾行
git diff test.txt
#提交本次操作
git add test.txt
git commit -m 'this is the second connit'
6.版本回退
#檢視提交日誌
git log
#檢視簡潔的回退資訊
git log --pretty=oneline
#回退到上一次提交 git reset --hard HEAD^ #會退到任一節點 #git reset --hard 'commintId' #commintId 是在git log命令查詢的
我們繼續使用git log命令:
發現第二次提交的記錄已經不見了,此時我們想取消版本回退怎麼辦?
使用git reflog命令查詢我們命令操作記錄,上面會有對應的每次操作的commitId
#git reflog #第一排是commitId
git rest --hard 'a588b5f' #此commitId是git reflog查詢得到的
7.撤銷修改
git checkout -- test.txt ##取消修改
兩種情況:
一種是test.txt自修改後還沒有被放到暫存區,現在,撤銷修改就回到和版本庫一模一樣的狀態;
一種是test.txt已經新增到暫存區後,又作了修改,現在,撤銷修改就回到新增到暫存區後的狀態。
演示第二種情況:
1.先在test.txt中新增文字:this is the second word!!!
2.新增暫存區:
3.在test.txt檔案中再新增文字:this is the third word!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
4.撤銷修改:git checkout -- test.txt
發現,工作區檔案的內容和第一次提交後在暫存區的內容一樣
但使用git status 命令發現,檔案還在暫存區中
把暫存區的修改回退到工作區:git reset HEAD test.txt
git reset HEAD test.txt
8.刪除檔案
rm test.txt #先將工作區的檔案刪除
git status #檢視狀態
#git checkout -- test.txt #可選此命令,將刪掉的test.txt從版本庫中恢復出來
git rm text.txt #告訴git暫存區將test.txt檔案刪除
#git rest HEAD test.txt #可選此命令,取消git刪除
git commit -m 'rm test.txt' #提交此刪除操作
命令總結:
git config --global user.name "Your Name" #初始化姓名
git config --global user.email "[email protected]" #初始化郵箱
git init #建立本地倉庫
git add test.txt #將新增操作提交到暫存區
git rm text.txt #將刪除操作提交到暫存區
git diff test.txt #檢視工作區與本地倉庫的不同
git status #檢視倉庫狀態
git commit -m "co.." #將修改提交到本地倉庫
git log #檢視提交日誌
git log --pretty=oneline #檢視提交的簡潔日誌
git reflog #檢視操作日誌
git reset --hard HEAD^ #回退到上次提交
git rest --hard 'commitId' #會退到指定的提交節點
git checkout -- readme.txt #撤銷修改
git reset HEAD readme.txt #把暫存區的修改回退到工作區
#---------遠端倉庫後的操作
git clone [email protected]:/home/git/mytest #克隆遠端倉庫
git push origin master #提交到遠端倉庫
#-------分支管理的操作
git checkout -b dev ##建立並切換為dev分支
git branch dev #建立dev分支
git checkout dev #切換到dev分支
git branch #檢視所有分支
#git checkout master #切換到master分支
git merge dev #將dev分支的程式碼合併到當前分支
git branch -d dev #刪除dev分支
資料:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000