git編輯文字的命令列 Git命令列基本操作

2021-10-13 15:14:58 字數 3659 閱讀 3834

0. 安裝git

網上有很多git安裝教程,如果需要圖形介面,windows下建議使用tortoisegit,linux建議使用git gui或者gitk。

1. git基本配置

git config可以配置git的引數,可以使用git config --list檢視已經配置的git引數。其中有三個級別的儲存位置,--system、--global、--local,分別表示所有使用者(本系統)、當前使用者(全域性)、本地配置(當前目錄),預設使用--local。

配置使用者名稱及郵箱

在使用git提交前,必須配置使用者名稱和郵箱,這些資訊會永久儲存到歷史記錄中。

git config --global user.name "tocy"

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

其他配置

如果在windows下建議還是配置下預設文字編輯器core.editor和差異分析工具merge.tool。

2. 建立git倉庫

可以直接呼叫git init初始化當前目錄,即建立git倉庫。

3. 獲得git倉庫

如果需要轉殖遠端倉庫,可以使用git clone,比如:

git clone

4. 提交更新

在windows下的git gui中,提交很簡單,右鍵-tortoisegit-commit。那麼命令列下需要怎麼處理?

git中每個檔案都有三種狀態:committed、staged、modified。它們之間關係如下:

commit

commit--> -----modify

我們獲取的git倉庫中的所有檔案都是committed狀態,如果你在本地修改了檔案a,a的狀態就變成modified的;如果使用git add a,a的狀態變成staged;如果使用git commit,a的狀態就變成commited。這種狀態變化也說明複製**是很方便的,但是提交更新請慎重。

當然還有一種檔案狀態,未跟蹤狀態(unversioned/untracked),通過使用git add可以把未跟蹤狀態變更為staged;通過git rm可以將staged或者committed狀態變為未跟蹤狀態。

git status

通常提交前先檢查下修改了什麼內容,當前git目錄下各檔案的狀態。

$ git status

on branch master

initial commit

untracked files:

(use "git add ..." to include in what will be committed)

readme.md

nothing added to commit but untracked files present (use "git add" to track)

git add

git add可以新增檔案或者目錄,也可以使用萬用字元。比如:

git add readme.md # add file only

git add *.cpp # add all cpp files

git add /home/code/ # add all files in /home/code

git diff

git diff可以檢視當前目錄的所有修改。

提交之前,還是單獨確認下處於staged狀態的檔案有哪些,並保證修改正確。在實際應用中,可能還需要使用git diff匯出patch做**走讀。

可以使用git diff --staged或git diff --cached檢視staged與上次提交快照之間的區別。

git commit

提交前需慎重。直接呼叫git commit會彈出編輯器,輸入提交日誌(如果是多行日誌,建議使用)。

針對單行日誌提交的情況,可以使用如下命令:git commit -m "add readme"。

還有一種快捷的提交方式,直接跳過stage快取區,直接提交當前目錄下的所有修改git commit -a(使用這個命令前建議確認下當前目錄的修改是否正確、必須)。

git rm

git rm會把檔案從當前目錄刪除(不會儲存刪除的檔案)。如果需要從git倉庫中刪除,但保留在當前工作目錄中,亦即從跟蹤清單中刪除,可以使用git rm --cached readme.md。

5. 提交歷史檢視

可以使用git log檢視當前工程的所有提交的日誌。

git log --stat# 僅顯示摘要選項

git log --pretty=oneline# 定製記錄格式

git log --graph# 影象化分支和版本更新

6. 撤銷更新

7. 遠端倉庫

可以使用git remote檢視當前的遠端庫。

git remote -v可以顯示對應的轉殖位址。(對於多個遠端倉庫很有用)

新增遠端倉庫

git remote add [short_name] [url]可以新增新的遠端倉庫。

從遠端倉庫抓取資料

git fetch [remote-name]可以從遠端倉庫抓取資料到本地。

也可以使用git pull

推送資料到遠端倉庫

git push [remote_name] [branch_name]

預設使用origin和master。

檢視遠端倉庫資訊

git remote show origin

遠端倉庫的刪除和重新命名

git remote rename [old_name] [new_name]

git remote rm [remote_name]

8. 打tags

可使用git tag顯示當前庫中的標籤。

新增標籤(含附註)

git tag -a v0.1 -m "my version 0.1"

使用如下命令檢視tag日誌資訊(指定對應標籤的名字)

git show v0.1

也可使用sha-1的提交表示建立tag:

git tag -a v0.2 [sha-1] -m "my version 0.2"

分享標籤

預設的,git push不會推送標籤資訊到遠端倉庫,需要通過命令顯式推送。

git push origin v0.1

如果需要推送所有標籤,使用

git push origin --tags

9. git分支

git分支是輕量級的,速度很快,僅記錄索引資訊。

顯示所有分支

使用git branch可顯示當前所有分支。

可以使用--merged和--no-merged檢視已經合併、未合併的分支。

建立及切換分支

可以使用下面命令直接切換並建立分支

git checkout -b testing

等價於$ git branch testing # 建立testing 分支

$ git checkout testing# 切換到testing分支

注意切換分支時請保持工作目錄沒有未提交的修改。git鼓勵使用分支,處理完問題之後合併分支即可。

分支合併

將hotfix分支合併到master(主分支)上,需要通過下面命令:

$ git checkout master

$ git merge hotfix

合併之後可以使用git branch -d hotfix刪除分支。

如果合併時存在衝突,需要手工修改。

git編輯文字的命令列 Git 基本命令列操作

一 本地倉庫操作 1 初始化 git init 2 新增版本控制檔案 git add readme.md 3 本地提交 git commit m 1st commit 4 配置遠端倉庫 git remote add origin 想一想 origin 是什麼意思?5 檢視提交日誌 git log 6...

git 配置git命令列別名

引言 由於有些git命令較長,記起來比較麻煩,為了git工具使用的方便,為命令列取別名有很大的必要。1 在家目錄新增.gitconfig檔案。此檔案在建立git倉庫時,一般是沒有的,需要手動新增。2 配置.gitconfig檔案。例如如下配置 左邊的別名可以按照個人習慣取 alias br bran...

git 命令列 和 cmd命令列

設定全域性使用者名稱 git config global user.name 區域性把global換成local 檢視全域性 git config global list 檢視git的狀態 git status 初始化 git into 名字 新增乙個檔案 git add readme.txt 刪除...