git常用命令學習筆記

2021-07-09 18:38:27 字數 4443 閱讀 8622

1> 初始化乙個git倉庫

git init
2> 新增檔案到git倉庫,可以反覆多次使用,新增多個檔案;

git add
3> 完成,新增注釋

git commit
4> 要隨時掌握工作區的狀態,

git status
5> 如果git status告訴你檔案被修改過,檢視修改的內容使用

git diff
6>head指向的版本就是當前的版本,因此,git允許我在版本的歷史之間穿梭,使用如下命令

git reset --hard commit_id
7> 穿梭前,可以檢視提交歷史,以便確定要退回到哪個版本

git log
8> 要重返未來,可以檢視命令歷史,以便確定要回到未來哪個版本

git reflog
9>工作區和暫緩區的區別

(1)工作區就是你在電腦裡能看到的目錄;

(2)工作區中的乙個隱藏目錄 .git 是git的版本庫,其中最重要的就是稱為stage(或者叫index)的暫存區,還有git為我們自動建立的第乙個分支master,以及指向master的乙個指標叫head

10> git跟蹤並管理的是修改,而非檔案,每次修改,如果不add到暫存區,那就不會加入到commit中。

11> 撤銷修改

(1)當修改錯了工作區的某個檔案內容時,想直接丟棄工作區修改時,使用命令

git checkout -- file
注意: – – 前後都有空格

(2) 當修改錯了工作區某個檔案的內容,還使用了git add將檔案新增到了暫存區時,想丟棄修改,使用命令

git reset head
就可以回到(1),在按照(1)的操作即可!

(3)當使用了git commit將檔案提交到了分支,沒有提交到遠端倉庫,想丟棄修改時,使用版本回退git reset --hard commit_id

12> 想要刪除檔案使用

git rm
如果想要恢復本地被刪除的檔案,但是版本庫中有可以使用git checkout -- file

1> 要關聯乙個遠端庫,使用命令

git remote add origin git@server-name:path/repo-name.git
2> 關聯後,要將master分支中的內容提交到遠端庫,使用命令

git push -u origin master
分布式版本系統的最大好處之一是在本地工作完全不需要考慮遠端庫的存在,也就是有沒有聯網都可以正常工作,而svn在沒有聯網的時候是拒絕幹活的!當有網路的時候,再把本地提交推送一下就完成了同步 !

3> 要轉殖乙個倉庫,首先必須知道倉庫的位址,

git clone git@server-name:path/repo-name.git
git支援多種協議,包括https,但通過ssh支援的原生git協議速度最快。

1> 建立分支

git branch 

2> 切換分支

git checkout 

上面的兩步可以合成一步完成,建立+分支

git checkout -b 

3> 檢視分支

git branch
*name 標出的表示當前所在分支

4> 合併某個分支到當前分支

git merge 

5> 刪除分支

git branch -d 

6> 當git無法自動合併分支時,必須先解決衝突,然後在提交,完成合併。

git log --graph
可以檢視分支合併圖,要看簡潔的圖可以使用下面的命令:

git log --graph --pretty=oneline --abbrev-commit
7> 合併分支時,加上–no-ff引數就可以用普通模式合併,合併後的歷史有分支,能看出來曾經做過合併,而fast forward合併就看不出來曾經做過合併。

8>bug分支

修復bug時,我們會通過建立新的bug分支進行修復,然後合併,最後刪除;

當手頭工作沒有完成時,先把工作現場儲存一下,

git stash
然後去修復bug,修復後,回到工作現場,使用

git stash pop
回到工作現場,並且把stash內容也刪了。要檢視工作現場可以使用命令:

git stash list
9>featrue分支

開發乙個新feature,最好新建乙個分支;

如果要丟棄乙個沒有被合併過的分支,可以強行刪除:

git branch -d 

10>多人協作

(1)檢視遠端庫的資訊,使用

git remote -v
(2)本地新建的分支如果不推送到遠端,對其他人就是不可見的;

(3)從本地推送分支,使用

git push origin 

如果推送失敗,先使用git pull抓取遠端的新的提交內容;

(4)在本地建立和遠端分支對應的分支,使用命令

git checkout -b 

origin/

本地和遠端分支的名稱最好一致;建立本地分支和遠端分支的關聯,使用

git branch --set-upstream 

origin/

上面的命令已經過時了,不過還可以用

git branch --set-upstream-to=origin/

dev

(5)從遠端抓取分支,使用

git pull
如果有衝突,要先處理衝突。

發布乙個版本時,我們通常先在版本庫中打乙個標籤,這樣,就唯一確定了打標籤時刻的版本。將來無論什麼時候,取某個標籤的版本,就是把那個打標籤的時刻的歷史版本取出來。所以,標籤也是版本庫的乙個快照。

git的標籤雖然是版本庫的快照,但其實它就是指向某個commit的指標(跟分支很像對不對?但是分支可以移動,標籤不能移動),所以,建立和刪除標籤都是瞬間完成的。

1> 新建立乙個標籤

git tag
預設為head, 也可以指定乙個commit id;

2> 指定標籤資訊:

git tag -a -m "abc"
3> 用pgp簽名標籤:

git tag -s -m "abc"
4> 檢視所有標籤

git tag
5> 推送乙個本地標籤到遠端倉庫:

git push origin
6> 推送全部沒有推送的本地標籤:

git push origin --tags
7> 刪除乙個本地標籤:

git tag -d
8> 刪除乙個遠端標籤:

git push origin :refs/tag/
1> 忽略某些檔案時,需要編寫.gitignore;

2> .gitignore檔案本身要放到版本庫里,並且可以對.gitignore做版本管理!

廖雪峰的git教程

花了一下午的時間,看完了這篇部落格,寫的很好,不愧為史上最淺顯易懂的git教程!我是按照流程敲了一遍,現在對git命令不在向之前那麼陌生了!強烈建議想學git的同學去看這篇部落格!

Git 常用命令學習筆記

case 1 cd alg ocr utils 在master git add 在master git commit m images enhancement 在master alg ocr utils git new text detect rule git checkout b new text...

Git常用命令(學習筆記)

當你改亂了工作區某個檔案的內容,想直接丟棄工作區的修改時,用命令git checkout file。當你不但改亂了工作區某個檔案的內容,還新增到了暫存區時,想丟棄修改,分兩步,第一步用命令git reset head,就回到了上面,第二步按上面的步驟。已經提交了不合適的修改到版本庫時,想要撤銷本次提...

學習筆記 git常用命令

1 安裝 apt get install git core2 新增公鑰 使用如下命令生成金鑰檔案 ssh keygen c 294154435 qq.com t rsa 會在使用者目錄 ssh 下建立相應的金鑰檔案 可以使用 ssh v git github.com 命令來測試鏈結是否暢通。3 全域...