Git的一些常用方法

2021-08-22 13:06:34 字數 4153 閱讀 9376

建立版本庫

1、建立乙個目錄

這個目錄裡的檔案可以被git管理起來:

$mkdir learngit

$cd learngit

通過git init 命令把這個目錄變成 git 可以管理的倉庫:

$ git initinitialized empty git repository in d:/tools/git/workspace/.git/

可通過ls -ah命令看到隱藏檔案.git,這個目錄是 git 來跟蹤管理版本庫的

$ ls -ah

2、把檔案新增到版本庫

建立乙個txt檔案:

$ echo "hello git" > readme.txt

第一步:用命令git add 告訴 git,把檔案新增到倉庫:add可以多次。

$ git add readme.txt

第二步:用命令git commit 告訴 git,把檔案提交到倉庫:

$ git commit -m "wrote a readme file"引號裡是說明

第一步是用git add 把檔案新增進去,實際上就是把檔案修改新增到暫存區;

第二步是用git commit 提交更改,實際上就是把暫存區的所有內容提交到當前分支。

倉庫狀態

1、執行git status 命令看看結果:

$ git status

2、可以用git diff 命令檢視修改的內容

$ git diff readme.txt

版本回退

1、可以用git log檢視歷史記錄:

git log 命令顯示從最近到最遠的提交日誌,我們可以看到 3 次提交

$ git log

分記錄顯示:

$ git log --pretty=oneline

commit id 不是 1,2,3……遞增的數字,而是乙個 sha1 計算出來的乙個非常大的數字,用十六進製制表示

2、版本回退

git 必須知道當前版本是哪個版本,在 git 中,用 head 表示當前版本,也就是最新的提交3628164...882e1e0 (注意我的提交 id 和你的肯定不一樣),上乙個版本就是head^ ,上上乙個版本就是head^^ ,當然往上 100 個版本寫 100 個^ 比較容易數不過來,所以寫成 head~100。

$ git reset --hard head^

還可以返回原來的版本

$ git reset --hard 0066249b4e1bfb41eeb1faa07c8b569d1f835e96(版本號)

git 的版本回退速度非常快,因為 git 在內部有個指向當前版本的 head 指標,版本回退時,只是把head指標的位置從現在這個版本指向返回的那個版本

git 提供了乙個命令git reflog 用來記錄你的每一次命令:

$ git reflog

撤銷修改

1、git checkout -- file 可以丟棄工作區的修改:

$ git checkout -- readme.txt

命令git checkout -- readme.txt 意思就是,把 readme.txt 檔案在工作區的修改全部撤銷,這裡有兩種情況:• 一種是 readme.txt 自修改後還沒有被放到暫存區,現在,撤銷修改就回到和版本庫一模一樣的狀態;• 一種是 readme.txt 已經新增到暫存區後,又作了修改,現在,撤銷修改就回到新增到暫存區後的狀態。

2、用命令git reset head file 可以把暫存區的修改撤銷掉(unstage),重新放回工作區:

$ git reset head readme.txt

刪除檔案

1、新建乙個test.txt檔案

$ touch test.txt

2、提交到分支

$ git add test.txt$ git commit -m "add test.txt"

3、刪除檔案

$ rm test.txt

4、刪除過後

一、確實要從版本庫中刪除該檔案,那就用命令git rm 刪掉,並且git commit :

$ git rm test.txt

$ git commit -m "remove test.txt"

另一種情況是刪錯了,因為版本庫里還有呢,所以可以很輕鬆地把誤刪的檔案恢復到最新版本:

$ git checkout -- test.txt

傳上我的github

1、先提交到我的分支上

$ git add readme.txt

$ git commit -m "first commit"

2、傳到我的github上

$ git remote add origin

$ git push -u origin master

分支操作

1、檢視分支

$ git branch

2、建立分支

$ git branch

3、切換分支

$ git checkout dev

4、建立+切換分支

$ git checkout -b dev

5、合併某分支到當前分支

$ git merge dev

6、刪除分支

$ git branch -d dev

7、衝突

當在不同分支同時提交了東西,可能會造成衝突

git用<<<<<<<,*****==,>>>>>>>標記出不同分支的內容

當 git 無法自動合併分支時,就必須首先解決衝突。解決衝突後,再提交,合併完成。用git log --graph 命令可以看到分支合併圖。

8、準備合併 dev 分支,請注意--no-ff 引數,表示禁用 fast forward:

$ git merge --no-ff -m "merge with no-ff" dev

合併後,我們用git log 看看分支歷史:

$ git log --graph --pretty=oneline --abbrev-commit

9、bug分支

git 還提供了乙個 stash 功能,可以把當前工作現場「儲藏」起來,等以後恢復現場後繼續工作:

$ git stash

建立臨時分支

$ git checkout -b issue-101

檢視之前的工作現場

$ git stash list

恢復現場:

方法二:用git stash pop ,恢復的同時把 stash 內容也刪了:

$ git stash pop

恢復到指定的stash

feature分支

新增乙個新功能時,你肯定不希望因為一些實驗性質的**,把主分支搞亂了,所以,每新增乙個新功能,最好新建乙個 feature 分支,在上面開發,完成後,合併,最後,刪除該 feature 分支。

建立分支

$ git checkout -b feature-vulcan

切回 dev,準備合併:

$ git checkout dev

銷毀分支

$ git branch -d feature-vulcan

強制刪除

git branch -d feature-vulcan

git的一些常用方法

1 撤銷add但未commit的檔案 git rm r cached path file 2 git 撤銷commit 2.1 git log 顯示提交的歷史 commit ee50348120302b19318ab6a564d4092dd87a85ef author shichaoxu date ...

一些git常用指令

cd e androidsss 具體進入到那個碟符 git init 生成.git資料夾 在當前目錄新建乙個git 庫 git status 檢視狀態裡面有幾個檔案 git commit am 提交到遠端伺服器 加備註 遇到的問題 git config global user.email 18513...

git常用的一些操作

一 你是第乙個提交 到github gitlab上的人 git init 初始化本地倉庫 git add 將檔案加到暫存區 git commit m first commit 將檔案提交到本地倉庫 git remote add origin git github.com test.git 鏈結git...