git的常用命令理解整理

2021-08-15 11:22:38 字數 3283 閱讀 6550

1.建立版本庫:

mkdir learngit 相當建立資料夾

pwd 用於顯示當前目錄

git init 可以將剛建立的資料夾變為git可以管理的倉庫

git add git_note.txt 在倉庫中新增檔案

git commit -m 提交到倉庫 反饋的資訊中有改變的檔案及行數

-m 後為提交的說明

-a 表示提交所有修改(即使你的修改沒有git add也會被提交)

2.對於git的版本的提交和操作

git status 掌握倉庫當前的狀態 eg:你的檔案被改變了,但還未經過提交時

git diff 檢視具體改變了什麼內容

git log 可以顯示提交日誌 –pretty=oneline 可以簡化日誌

git reset 可以根據引數的不同返回不同的版本 –hard head 中head指向當前版本,head^表示上乙個版本,

head^^表示上上乙個版本,head~100表示前100個版本,而日誌中的commit id 可以幫你回退到任意版本

git reflog 再次開啟命令列之後,顯示的歷史日誌記錄

3.git鏈結遠端倉庫

ssh-keygen -t rsa -c 「email」 得到你在遠端的公鑰

cat ~/.ssh/id_rsa.pub 在命令列上檢視,並將得到的公鑰複製到你的碼雲上

git remote add origin [email protected]:dorui/git_learning.git 關聯遠端庫

這裡的[email protected]:dorui/git_learning.git是你專案的ssh(提前需要建好乙個專案)

git push origin master 推送到碼雲,若出錯 git push origin master -f

重新整理碼雲就可以看到自己之前在git上寫的和提交的東西了

之後你的commit就可以直接到遠端倉庫了

4.與修改息息相關的三個區以及對之前命令的再理解

當你在你的檔案中,比如,我現在的gitnotes.txt寫了一些東西,然後輸入git status,git將會告訴你的gitnotes.txt有改變,此時,git diff你就會發現你改動的內容了,這些改變就在你的工作區;

確定改變之後 git add gitnotes.txt此時剛才的改變(即工作區的東西)將會存在乙個暫存區,就好像**裡的購物車一樣;

當你git commit後,你所做的改變就提交到本地版本庫區了,這時你在碼雲上仍舊看不到自己commit的東西,需要 git push將此次更改的版本提交到遠端版本庫。

在搞不清楚自己所做的改變在哪個區的情況下,用git status;

想具體看做了哪些修改(提交前最好看看)git diff;

有關修改:

若你在工作區寫錯東西,輸入git checkout – gitnotes.txt,此時會刪除你工作區剛做了修改的所有東西;

若在暫存區寫錯東西,輸入git reset – head gitnotes.txt;然後git status發現暫存區清空了,工作區仍有修改,再git checkout – gitnotes.txt;

若你在版本庫區了,只能git reset –hard head^ ,回到上一版本了。

有關刪除檔案:

當你在git裡做工程時,不小心rm a.txt刪掉了你電腦中的檔案,此時,工作區和版本庫就不一致了,git status會直接告訴你,

若你想將檔案還原回來,只需要git checkout – a.txt(是用版本庫里的版本替換工作區的版本);

若想將版本庫中的檔案也刪掉,git rm a.txt,然後git commit就可以了。

5.建立與合併分支

git branch dev 建立乙個分支;不加分支名為檢視所有分支

git checkout dev 切換到當前分支

git checkout -b dev 建立並切換到dev分支

//git branch 檢視當前分支

//git checkout master 切換到主分支

git merge dev 合併分支到當前分支(比如當前子啊主分支,此時就是將dev分支合併到主分支了)

git branch -d dev 刪除dev分支(刪除已經被合並且無用的本地dev分支)

git log –graph –pretty=oneline –abbrev-commit命令可以看到分支合併圖。

–graph 顯示 ascii 圖形表示的分支合併歷史。

–pretty=oneline 日誌單行顯示

–abbrev-commit commit id後面顯示每次的提交說明

當你進行git merge時,若兩個分支同時在同乙個地方修改的合併時會產生分支衝突,這時候需要手動修改在提交,從提交日誌可以清楚的看到分支的合併痕跡;若只有乙個分支被修改的兩個分支合併,會直接合併成功,並告訴你是一種快速合併模式,這種情況下,你在提交日誌上是看不到分支合併痕跡的,若想看到之前的分支痕跡,需要加上–no-ff就是不同的合併模式了。

6.有關分支操作中的一些命令整理

1>遠端分支就是本地分支push到伺服器上的時候產生的。比如maste## 標題 ##r就是乙個最典型的遠端分支(預設)。

git push origin master

除了master之外,我們還可以隨便建立分支,然後push到伺服器上去。例如:

2>遠端分支和本地分支需要區分,所以,在從伺服器上拉取特定分支的時候,需要指定本地分支名字。

git checkout –track origin/develop

注意該命令由於帶有–track引數,所以要求git1.6.4以上!

這樣git會自動切換到develop分支。

3>同步本地遠端分支:

git fetch origin

4>提交分支資料到遠端伺服器:

git push origin 《本地分支名》:《遠端分支名》

例如:

git push origin develop:develop

當然如果當前在develop分支下,也可以直接

git push

5>刪除遠端分支develop:

git push origin :develop

7.git fetch 與git pull的區別

git fetch:相y當於是從遠端獲取最新版本到本地,不會自動merge

git pull:相當於是從遠端獲取最新版本並merge到本地

若遠端有分支,clone下來後直接git checkout 分支名,就可以在本地建立並切換到當前分支。

Git 常用命令整理

最近在公司的伺服器上安裝了git sever,開始從svn轉向到git了,整理了一些在git常用的命令 初始化乙個版本倉庫 git init clone遠端版本庫 git clone git xbc.me wordpress.git 新增遠端版本庫origin,語法為 git remote add ...

Git 常用命令整理

初始化乙個版本倉庫 git init clone遠端版本庫 git clone git xbc.me wordpress.git 新增遠端版本庫origin,語法為 git remote add shortname url git remote add origin git xbc.me wordp...

Git常用命令整理

雖然git現在也有ui了,但是一些常用的命令了解總是有好處的,沒準什麼時候就用上了呢 git config global user.name your name git config global user.email your email 2.git bash下操作資料夾跟dos是一樣的 如建立資...