git常用命令總結

2022-05-04 03:42:10 字數 3740 閱讀 9588

1、cvs和svn是集中式的版本控制系統。

2、git是分布式版本控制系統;

版本庫是放在**伺服器的,一旦出問題,就無法幹活。幹活的時候用自己電腦,所以需要從**伺服器取得最新版本,修改完後再把自己的活推送給**伺服器。最大毛病是必須聯網才能工作,網速慢時會被憋死。

有一台「**伺服器的」的電腦,用於多人合作交換修改的。它安全性更高,因為每個電腦都有完整的版本庫,一旦出問題,可以從其他電腦複製。有強大的分支管理。

2、設定賬號和郵箱關聯,賬號和郵箱可以是碼雲、gitlab...的賬號都行:

$ git config --global user.name "your name"             

$ git config --global user.email "[email protected]"

3、選擇合適地方,建立空目錄:

$ mkdir test        //建立空目錄,目錄名字為test

$ cd test      //進入test目錄

4、初始化倉庫,把目錄變成git 可以管理的倉庫:

$ git init

$ ls //檢視檔案

$ ls -ah //如果.git目錄是影藏的話,可以通過這個命令檢視.git目錄

5、提交檔案到git 上

$ git add .                  //告訴git,把檔案新增到倉庫,此時是將修改新增到暫存區,可add 多次

$ git commit -m '本次提交的備註' //告訴git把檔案提交到倉庫,此時是吧暫存區的所有內容提交到當前分支,可一次提交很多檔案

6、檢視當前倉庫的狀態

$ git status    //檢視版本庫狀態,什麼被修改過但還沒提交的

$ git diff //檢視當前相對上一次提交修改的內容

7、版本回退

$ git log                         //顯示從最近到最遠的提交日誌

$ git log --pretty== oneline //顯示log,但是不顯示很多凌亂的資訊

q //顯示log版本資訊有很多,使用q鍵停止檢視

git reset —hard head^ //回退到上乙個版本

git reset —hard head^^ //回退到上上個版本

git reset —hard head~100 //回退到之前100個版本

git reset —hard +commit_id //回到某個版本號的版本

git reset — hard 版本號 //版本回退多次後需要恢復最新版本

$ git reflog //檢視曾經使用過的命令

8、撤銷修改

$ git checkout -- test.html
9、刪除檔案

$ rm test.index     //可直接在檔案管理中刪除檔案,要不用rm 命令去刪除

$ git rm test.html //從版本庫中刪除

$ git commit -m '刪除 test.html檔案'

$ git branch -d //丟棄乙個沒有被合併過的分支,可以通過強行刪除。

1、建立ssh key(需要生成 id_rsa私鑰 和 id_rsa.pub公鑰 兩個檔案)

$ ssh-keygen -t rsa -c "[email protected]"
2、登入github,設定"ssh keys",複製 id_rsa.pub 內容去新增。可允許新增多個ssh。

3、關聯遠端倉庫

$ git remote add origin [email protected]:賬戶名
4、將本地的內容推送到遠端庫分支上

$ git push -u origin 分支名字       //第一次推送分支所有內容

$ git push origin 分支名字 //推送最新修改

5、檢視遠端倉庫資訊

$ git remote 

$ git remote -v //檢視更加詳細的資訊

轉殖

$ git clone 需要轉殖的倉庫位址

建立分支,並且切換過去

$ git checkout -b 新分支的名字 //建立分支並且切入進分支

或者等同於

$ git branch 分支名       //建立分支

$ git checkout 分支名 //切換到分支

$ git branch //檢視分支

合併分支

$ git checkout -b dev

$ git branch

$ git add .

$ git commit -m '提交test檔案到dev分支'

$ git checkout master //切換到主分支

$ git merge dev //將dev分支上的內容合併到master分支上,合併 指定分支 到 當前分支

$ git merge --no-ff -m "merge with no-ff" dev //合併分支時加上--no-ff引數就可以用普通模式合併,合併後的歷史有分支,通過git log檢視

$ git branch -d dev //刪除dev分支

解決衝突:

同一檔案修改衝突,需要手動解決衝突後再提交。git status可檢視衝突,根據標記可修改衝突部分,修改結束後再重新提交。

$ git pull //拉取遠端內容

$ git log --graph //命令可以看到分支合併圖。

關聯本地倉庫和遠端倉庫

$ git branch --set-upstream-to

origin/

建立標籤

$ git branch 

$ git checkout dev

$ git tag v1.0 //為當前需要打標籤的分支打新標籤

$ git tag //檢視所有標籤

$ git tag -a 指定標籤資訊 -m "blablabla..." //可指定標籤資訊

操作標籤

$ git push origin //可以推送乙個本地標籤;

$ git push origin --tags //可以推送全部未推送過的本地標籤;

$ git tag -d //可以刪除乙個本地標籤;

$ git push origin :refs/tags///可以刪除乙個遠端標籤。

改變git顏=色

$ git config --global color.ui true

Git常用命令總結

原文 author joseph lee e mail fdlixiaojun gmail.com 基礎概念 git是分布式版本控制系統,在每個主機上都儲存這版本庫的完整映象,這於cvs,svn 等集中式版本控制系統不同,集中式版本控制系統僅是在伺服器上儲存有所有資訊。git檔案更改後是以快照的方式...

git常用命令總結

一 分支新建與切換 git中的分支,本質上僅僅是個指向 commit 物件的可變指標。1 新建乙個分支 比如新建乙個名為testing的分支 git branch testing 即是在當前commit物件上新建了乙個分支指標 注 head指向當前所在的分支,用cat git head可以檢視 2 ...

git常用命令總結

檢查git 是否安裝 git 新增git 個人資訊 git config global user.name your name git config global user.email email example.com 建立乙個版本庫 mkdir learngit 建立乙個空目錄 cd learn...