Git初探 筆記整理和Git命令詳解

2021-09-07 07:17:11 字數 2139 閱讀 4616

首先先明確幾個概念:

workplace : 工作區 

index: 暫存區

repository: 本地倉庫/版本庫

remote: 遠端倉庫

當在remote(如github)上面clone乙個專案到本地時(假設專案名為gittest),在本地就會看到乙個名為gittest的目錄,目錄下有專案**和乙個名為.git的目錄,什麼是工作區呢,就是除了.git資料夾以外的所有東西,我們主要在工作區上閱讀,修改,新增刪除**和其他內容,而這個.git目錄就稱為乙個版本庫,這個版本庫中存放有很多東西,比如有git為我們自動建立的乙個master分支乙個指向該分支的乙個head指標,其中就有乙個名稱為index的區域,就是暫存區,下面盜個圖:

git init  將當前目錄初始化為乙個git可以管理的倉庫

git config [--global] user.name "zhangsan"  git config [--global] user.email "[email protected]"

顧名思義設定乙個使用者名稱和郵箱,主要用於在提交**時顯示,方便別人知道這個**是誰提交的,但只在當前倉庫中起作用,如果加上----global引數 則會在所有倉庫都顯示這個使用者名稱和郵箱.

git add 檔案 :新增指定檔案到暫存區

git add -a: 新增當前工作區所有修改檔案到暫存區

git commit -m "...." :將暫存區的內容提交到本地倉庫,省略號中的內容最好是有意義的注釋,方便自己和別人以後檢視.

git status   檢視當前倉庫的狀態,能夠清晰地看到哪些檔案修改了,哪些檔案在暫存區等資訊

git diff 檔名 :如果檔案修改了,已經新增到暫存區,我們希望看一下檔案具體哪些內容被修改了,可以使用此命令,能夠看到具體修改了的內容

git log 檢視專案的提交日誌,包含乙個版本號,提交者的名稱和郵箱,提交日期,以及提交時新增的注釋.

git reset --hard head^ :回退到上乙個版本,如果使用兩個^就是回退到上上個版本

git reset --hard 76786554  :根據版本號回退到指定版本,版本號可以通過git log 檢視,版本號很長,取前幾位即可 

git checkout --a.txt    :撤銷對a.txt的修改,這裡分兩種情況,1 如果a.txt已修改,但未提交到暫存區,則會將a.txt撤銷到和版本庫相同的狀態. 2 如果a.txt已經新增到暫存區又做了修改,則會將a.txt撤銷到剛新增到暫存區時候的狀態.

git reset head a.txt   :如果a.txt已經修改並新增到暫存區,但我們希望將它撤回到工作區,使用此命令 

git rm a.txt   :從版本庫中刪除a.txt

git pull 《遠端主機名》 《遠端分支名》:《本地分支名》:   取回遠端主機某個分支的更新,再與本地的指定分支合併

git pull origin develop:master: 取回遠端主機的develop分支與本地的master分支合併

git push 《遠端主機名》 《本地分支名》:《遠端分支名》: 將本地指定分支的更新,推送到遠端主機的指定分支

git push origin master  :將本地庫的master分支專案push到遠端庫中

git branch   :檢視當前分支

git branch -r:檢視遠端分支

git branch -a: 檢視所有分支

git branch develop:從當前分之中建立一條名為develop的分支

git checkout develop:從當前分支跳轉到名為develop的分支上去

git checkout -b develop :從當前分支建立一條名為develop的分支並且跳轉到該分支上去,相當於上面兩條命令的簡化

git merge develop:將名為develop的分支合併到當前分支上來

git branch -d develop: 將名為develop的分支刪除

git 的命令還有很多,比較常用的就是這些,以後碰到了再隨時補充吧~

Git初探筆記02

1 檢視已暫存的檔案在下次提交時的變化 可以用git diff cached命令 git diff cached 檢視已經暫存起來的變化 staged 和 cached 是同義詞 將修改或新新增的檔案放到暫存區後,就可以提交了,使用git commit命令,此時會預設開啟系統指定的文字編輯器來要求輸...

git命令整理

git svn區別 svn是集中式版本控制系統,版本庫是集中放在 伺服器的,而幹活的時候,用的都是自己的電腦,所以首先要從 伺服器 得到最新的版本,然後幹活,幹完後,需要把自己做完的活推送到 伺服器。集中式版本控制系統是必須聯網才能工作,如果在區域網還可以,頻寬夠大,速度夠快 git是分布式版本控制...

Git命令整理

回退上一版本 git reset hard head head is now at ea34578 add distributed 檢視分支 git branch 建立分支 git branch 切換分支 git checkout 建立 切換分支 git checkout b 合併某分支到當前分支 ...