Git操作小結

2021-08-21 21:17:33 字數 3829 閱讀 3519

git(分布式版本控制系統),每台電腦有自己的版本庫(倉庫,repository),『**伺服器』方便交換修改,安裝後需設定名字和email位址。

建立版本庫:

1、mkdir learngit #建立空目錄,即工作區

2、git init #初始化形成git可管理的倉庫,.git目錄是git跟蹤管理版本庫的版本庫檔案操作:

1、git add readme.txt #把檔案新增到git倉庫 (新增到暫存區stage)

2、git commit -m "a readme file" #把檔案提交到倉庫,-m指定說明文字

(把stage內容提交到當前分支)

3、git status #檢視倉庫當前狀態

4、git diff readme.txt #檢視修改

5、git log #檢視歷史改動記錄

git log --pretty=online #檢視精簡記錄

6、git reset --hard head^#版本回退(上上版本為head^ 往上100版本為head~100,head指定當前版本)

git reset --hard 3628164(版本號,前幾位即可))

7、git reflog #檢視每次的命令,可顯示commit id,結合版本回退

8、git checkout -- readme.txt #撤銷修改,回到最近一次git commit或git add時的狀態

git reset head readme.txt # 可以撤銷暫存區的修改放回工作區

9、rm readme.txt #刪除工作區檔案

1)git rm readme.txt #從版本庫中刪除檔案

git commit #提交刪除操作

2)git checkout -- readme.txt #恢復刪除(git checkout 用版本庫的版本替換工作區的版本)

遠端倉庫:

1、在github上建立新的倉庫

2、git remote add origin [email protected]:*/learngit.git #把本地倉庫關聯到github倉庫,遠端庫的名稱是origin

3、git push -u origin master #把本地庫內容推送到遠端庫上

(第一次推送加-u,實現關聯和推送,之後直接使用git push origin master)

4、git clone [email protected]:*/learngit.git

( git支援多種協議,包括https,但通過ssh支援的原生git協議速度最快)

分支管理:(master分支是主分支,head指向master,master指向提交)

1、git checkout -b dev #建立新的分支dev並切換到dev

(等價於: 1)git branch dev #建立dev分支

2)git checkout dev #切換到dev分支

2、git branch #檢視當前分支

3、git checkout master #切換到master分支

4、1)git merge dev #合併分支成果(fast forward模式)

2)git merge --no-ff -m "merge with no-ff" dev #禁用fast forward模式的合併 ,會生成乙個新的commit

5、git branch -d dev #刪除分支

6、git log --graph --pretty=online --abbrev-commit #檢視合併情況,git log --graph可以看到分支合併圖

bug分支:

7、git stash #儲存當前工作現場

(git checkout mater #確定出bug的分支

git checkout -b issue-101 #在出bug的分支建立臨時分支

git checkout master #修復完成切換到原分支

git merge –no-ff -m 「merged bug fix 101」 issue-101 #合併分支

git branch -d issue -101) #刪除分支

8、git stash list #檢視儲存的現場

9、git stash pop #恢復stash內容並刪除

2)git stash drop #刪除stash

feature分支:

10、git branch -d feature-vulcan #強制刪除乙個沒有被合併過的分支

11、git remote #檢視遠端庫資訊

git remote -v #檢視遠端庫詳細資訊

12、git push origin master #推送指定分支

13、git checkout -b dev origin/dev #建立遠端origin的dev分支到本地

14、git pull #把最新的提交抓取下來

15、git branch --set-upstream dev origin/dev #設定dev和origin/dev的鏈結

標籤管理:

1、git tag v1.0 #對當前分支打標籤,預設打在最新提交的commit上

(git tag v0.9 6224937 #對指定commit打標籤

git tag -a v0.1 -m 「v0.1 released」 2628164 #-a指定標籤名,-m指定說明文字

git tag -s v0.2 -m 「v0.2 released」 fec145a #-s用私鑰簽名乙個標籤,採用pgp簽名,需安裝gpg)

2、git tag #檢視所有標籤

3、git show v0.9 #檢視標籤資訊

4、git tag -d v0.1 #刪除本地的標籤資訊

5、git push origin :refs/tags/v0.9 #刪除遠端標籤資訊

6、git push origin v1.0 #推送標籤到遠端

git push origin --tags #一次性推送全部尚未推送到遠端的本地標籤

github:

1、fork:在自己賬戶轉殖乙個倉庫

2、git clone [email protected]:*/bootstrap.git

git操作小結

近幾天在學git版本控制,下面是一篇個人的總結 git的基本操作 在乙個資料夾中開啟git 然後輸入命令 git init 就建立乙個新的版本倉庫,在這個資料夾下面會有乙個.git 的檔案 這樣之後,你就可以用git進行這個版本庫的操作。git add 新增到當前目錄的所有檔案到暫存區,當然也可以 ...

git命令小結

it 是乙個很強大的分布式版本管理工具,它不但適用於管理大型開源軟體的源 如 linux kernel 管理私人的文件和源 也有很多優勢 如 wsi lgame pro 一 git 命令初識 在正式介紹git命令之前,先介紹一下git 的基本命令和操作,對git命令有乙個總體的認識 示例 從git ...

Git 學習小結

git是目前最先進的分布式版本控制系統。所謂的分布式,是相對於集中式而言的,比如svn就是集中式的版本控制系統。集中式,顧名思義,就是擁有一台處於中心地位的伺服器,上面存放著版本庫。可以想象成網路裡的c s結構。同樣的,分布式就可以理解成p2p結構,沒有特定的伺服器,每台電腦都可以擁有版本庫,這樣就...