1. 程式人生 > 實用技巧 >Git基礎操作

Git基礎操作

git是一個版本管理軟體,它可以幫助寫程式的時候更好的找回以前寫過的程式碼

Git倉庫建立及初始化

使用git init命令使得我們的專案變成一個git管理的專案

git init

初始化之後會發現專案裡面建立了一個.git的目錄

這是儲存我們git管理的資訊的一個目錄,這個目錄又叫版本庫

工作區和暫存區

git 管理的專案目錄成為工作區

暫存區則是git 新增後還沒有提交的檔案儲存的地方, 我們可以使用git add命令來將檔案存入暫存區

將暫存區的檔案提交到工作區的命令是git commit

同時我們可以使用git status命令來檢視當前專案的工作情況

>> git add .
>> git commit -m "first commit"
>> git status

版本記錄

每一個git 版本管理倉庫裡面都會有一個HEAD指標,每次提交的時候都會使得Git的版本指標指向一個新的版本

>> git log --pretty=oneline

9de8aa396a8c158c008d88357147b7a24bb5b19d (HEAD -> master) free tool
84066815bf16873c52a400136df0c7adcdc56d7e git is a nice tool
8cfdcfa354a8b1963887327a28e3b84d4c6ce0e3 git is a very good tool

回滾

使用git reset

命令可以回滾版本,每一次使用後面可以加一個版本編號或者使用HEAD^回滾上一個版本

(版本編號 -> {commit id} or {HEAD{version}})


>> git reset --HEAD^

>> git reset --{版本}

操作記錄

git reflog可以檢視自己使用git回滾和提交操作記錄

>> git reflog

檢視修改

git 可以使用git diff 來檢視最近幾次git 提交都修改了什麼內容和添加了什麼特性程式碼

>> git diff HEAD -- readme.txt

丟棄修改

git 可以使用git restore

來撤銷你在上一次commit 之後的修改

>> git restore {file}
>> git restore readme.txt

建立分支

因為專案開發的時候經常要多人開發,所以git提供了分支的概念

>> git checkout -b dev
# 相當於
>> git branch dev
>> git checkout dev

其中git branch用於建立分支,git checkout用於切換分支

合併分支

>> git merge dev

刪除分支

>> git branch -d dev

切換分支

git切換分支的方式不止又checkout,還有switch,相比與checkout來講switch更加合理

# 切換分支
git switch dev

# 建立並切換分支
git switch -c dev

檢視分支合併情況

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

暫存工作區修改切換分支

# 儲存工作區已修改內容儲存到另一個地方,使得專案工作區乾淨
>> git stash
# 列出所有儲存工作區的內容
>> git stash list
# 切換到上次儲存的位置但是在list裡面不刪除位置記錄
>> git stash apply
# 刪除上次儲存的位置記錄
>> git stash drop
# 切換到上次儲存的位置且刪除list裡面的位置記錄
>> git stash pop

Git標籤

使用git 管理時,一個專案有的時候常常需要不停的回滾到某一個提交然後在滾會到最新版本,有時候他給他人展示的時候也是,利用git tag 可以更方便的管理我們的git回滾版本

建立標籤

>> git tag {tag_name}

刪除標籤

>> git tag -d {tag_name}

推送某一個本地版本到遠端倉庫

建立的tag 一般只會存放到本地,不會存放到遠端倉庫,所以我們得在push的時候加入tag 再推送

>> git push origin {tag_name}

一次推送所有的tag

>> git push origin --tags