git 常用命令彙總

2021-08-26 14:45:59 字數 3079 閱讀 6526

1 獲取git的版本

git --version   

2 初始化倉庫

git init   初始化乙個本地倉庫

git --version   獲取git的版本

git config --global user.name "yourname"

git config --global user.email "youremail"

第3 4 條 就是給乙個身份,標記修改檔案,推送檔案是誰操作的的,

--global選項在整個倉庫生效

3 修改檔案(包括新增,編輯,刪除)

git add file     新增乙個檔案到暫存區

git commit -m "desc"    提交乙個檔案到版本庫

git add .  提交所有修改的檔案到暫存區

git rm 刪除檔案之後再提交檔案  git  commit  -m 「desc」 

4 輔助工具 

git status  或者此次版本庫的狀態

git diff    判斷本地工作區和版本庫的差異

git log     顯示一行 --pretty=oneline    顯示日誌 --graph 圖形方式

git reflog 記錄每一次命令歷史    

5 撤銷操作

git reset --hard head   回退版本

head^(上乙個版本)  head^^(上兩個版本)   head~100(上一百個版本)

git reset --hard commit-id  回退到commit-id的版本

撤銷修改三種情況:

1 修改內容還未到達暫存區

撤銷方法:直接把編輯的刪除,或者通過命令 git checkout -- filename 此時就會丟掉工作區的修改

2 修改內容已經到達暫存區

git reset head 可以把暫存區的修改撤銷掉(unstage),重新放回工作區

3 如果修改內容已經推送到版本庫中,可以通過回退版本命令

git reset --hard head^/commit-id

6 新增遠端庫

以github為例

git remote add [email protected]:kontar-wang/study.git

顯示遠端庫

git remote -v

顯示具體遠端庫

git remote show

推送**到遠端庫

git push -u origin master

從遠端庫拉**

git pull origin master

轉殖版本庫

git clone url/ssh  (不同的協議)

example

git clone [email protected]:kontar-wang/studygit.git

7 分支功能

新增:git branch -b branch-name 建立並切換分支

git branch branch-name 建立分支

git checkout branch-name 切換分支

git branch --track remote/branch 建立乙個可跟蹤的分支基於遠端的乙個分支

刪除:git branch -d branch-name

合併分支:

git merge branch-name  合併分支到head所在的分支

衝突的解決辦法:

1 解決衝突,最後add commit -m 「desc」

分支合併的兩種方式差別:

git會用fast forward模式(預設方式),但這種模式下,刪除分支後,會丟掉分支資訊

--no-ff方式的gitmerge合併分支時,加上--no-ff引數就可以用普通模式合併,

合併後的歷史有分支,能看出來曾經做過合併,而fast forward合併就看不出來曾經做過合併。

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

9 分支推送原則:

但是,並不是一定要把本地分支往遠端推送,那麼,哪些分支需要推送,哪些不需要呢?

master分支是主分支,因此要時刻與遠端同步;

dev分支是開發分支,團隊所有成員都需要在上面工作,所以也需要與遠端同步;

bug分支只用於在本地修復bug,就沒必要推到遠端了,除非老闆要看看你每週到底修復了幾個bug;

feature分支是否推到遠端,取決於你是否和你的小夥伴合作在上面開發。

10 多人協作的工作模式

首先,可以試圖用git push origin

推送自己的修改;

如果推送失敗,則因為遠端分支比你的本地更新,需要先用git pull試圖合併;

如果合併有衝突,則解決衝突,並在本地提交;

沒有衝突或者解決掉衝突後,再用git push origin

推送就能成功!

注意:如果git pull提示no tracking information,則說明本地分支和遠端分支的鏈結關係沒有建立,用命令git branch --set-upstream-to

origin/

。這就是多人協作的工作模式,一旦熟悉了,就非常簡單。

11 標籤

git tag tagname   在最新的一次commit打標籤

git tag tagname   commit-id   在commit-id處打標籤

git tag show 展示標籤  

git tag -a tagname -m 「desc」 commit-id 

git tag -d tagname  刪除標籤

git push origin tagname  推送標籤

git push origin --tags 一次性推送全部尚未推送遠端的本地標籤

如果標籤推送到遠端刪除分為兩步:

git tag -d tagname

git push origin :refs/tags/v0.9

12 配置檔案-過濾掉那些檔案不需要推送

忽略某些檔案時,需要編寫.gitignore;

.gitignore檔案本身要放到版本庫里,並且可以對.gitignore做版本管理!

git常用命令彙總

針對常用的git命令,進行彙總記錄,以便及時查詢 可以定乙個指令碼,檢查語法錯誤的,或是借用第三方工作進行檢查,然後將該指令碼放到專案的 git hook pre commit 位置,也可以放到乙個位置軟鏈到多個專案 git hook pre commit 中,這時,在提交時,會檢查語法規範,提高 ...

git常用命令彙總

git是由linux kernel創立者 linux torvalds 開發的 因為bitkeeper的問題 屬於dvcs 分布式版本控制 github 是乙個開源專案社群,始於2007 08上線 github 裡面的專案可以通過標準的 git 命令進行訪問和操作 pro git v2書本傳送門 而...

git常用命令彙總

1.git add 新增到檔案到版本庫,也可以新增檔案 git add 或者 git add 2.git reset head 取消新增到版本庫 3.git commit m commit message 提交修改,當版本庫內容有修改時才可以修改 即使用了git add命令 提交可選的額外資訊 使用...