Git常用命令記錄

前言

Git和其它版本控制系統如SVN的不同之處就是有暫存區的概念。Git本地有四個工作區域:工作目錄(working Directory)、暫存區(Stage/Index)、資源庫(Repository或Git Directory)、git倉庫(Remote Directory)。

Workspace:工作區,就是本地電腦能夠看到的文件夾,本地放代碼的地方

Index/Stage:暫存區,用於臨時存放你的改動,事實上它只是一個文件,保存即將提交到文件列表信息

Respository:倉庫區(也稱爲版本庫),就是安全存放數據的位置,這裏面有你提交到所有版本的數據。其中HEAD指向最新放入倉庫的版本

Remote:遠程倉庫,託管代碼的服務器,可以簡單的認爲是你項目組中的一臺電腦用於遠程數據交互。

1、創建版本

# 在當前目錄新建一個Git代碼庫
 git init
# 新建一個目錄,將其初始化爲Git代碼庫
git init [project-name]
# 下載一個項目和它的整個代碼歷史
git clone [url]

2、查看文件狀態

#查看指定文件狀態
git status [filename]
#查看所有文件狀態
git status

3、將文件從工作區添加到暫存區

#添加到指定文件到暫存區
git add [file1][file2]...
#添加指定目錄到暫存區,包括子目錄
git add [dir]

4、將暫存區文件提交到資源庫(版本庫)

#將暫存區文件提交到資源庫(版本庫)
git commit -m "本次提交說明"

5、查看提交歷史記錄

#命令顯示從最近到最遠的提交日誌
git log

#精簡log信息
git log --pretty=oneline

6、git commit後版本回退

回退時,Git需要知道當前是哪個版本,在Git中,用HEAD表示當前版本,一個版本就是HEAD^,上上一個版本就是HEAD^^,當然往上100個版本寫100個^比較容易數不過來,所以寫成HEAD~100。

回退時可以使用git reset命令:

$ git reset --hard HEAD^

還有一種方式:

git reset --hard commitId

這種方式需要知道commit id,這種方式就是將指針指向指定版本,也就是說可以將版本切換到任意一個版本時期。

但是,回退版本會導致git log中信息被刪除,如果需要找到已經被回退的版本,可以使用

$ git reflog

git reflog用來記錄你的每一次命令

7、git add後從暫存區回退到工作區

#移除不必要的添加到暫存區的文件
git reset HEAD 文件名

8、在工作區修改後,回退修改

git checkout 文件名

9、git commit後,從git 回退到暫存區

#去掉上一次的提交(變成add之後,commit之前狀態) 
git reset --soft  HEAD^ 

10、遠程操作

# 取回遠程倉庫的變化,並與本地分支合併
git pull
# 上傳本地指定分支到遠程倉庫
git push

11、比較修改

#未git add 時和暫存區的比較
git diff file

#查看工作區和版本庫裏面最新版本的區別
git diff HEAD --

12、刪除文件

#刪除工作空間文件
#rm file

#恢復剛剛刪除的工作空間文件,未git add
git checkout -- file

#確實要從版本庫中刪除該文件
git rm file

13、分支管理

#創建分支
git branch 分支名

#切換分支
git checkout dev

#創建分支並切換分支
git checkout -b 分支名

#查看當前分支
git branch

#合併分支
git merge 需要合併到當期分支的分支名

#刪除分支
git branch -d 分支名

14、遠程操作

# 取回遠程倉庫的變化,並與本地分支合併
git pull
# 上傳本地指定分支到遠程倉庫
git push

參考資料:

https://www.cnblogs.com/qdhxhz/p/9757390.html

廖雪峯git

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章