Git指令 完整版

2021-07-14 20:25:05 字數 3168 閱讀 3116

一、建立版本庫

git init            新建倉庫

git add file            新增

git commit -m "description"    提交至倉庫

git status            狀態

git diff        sta    顯示修改

二、時光機穿梭        

git log             檢視提交歷史,以便確定要回退到哪個版本

git log --pretty=oneline    簡化檢視提交歷史

git reset --hard head^        返回上乙個版本

git reset --hard commit_id    返回指定版本

git reflog            檢視命令歷史,以便確定要回到未來的哪個版本。

三、緩衝區概念

git checkout -- file        (其實是用版本庫里的版本替換工作區的版本,無論工作區是修改還是刪除,都可以「一鍵還原」)

場景1:當你改亂了工作區某個檔案的內容,想直接丟棄工作區的修改時,用命令git checkout -- file

git reset head file        場景2:當你不但改亂了工作區某個檔案的內容,還新增到了暫存區時,想丟棄修改,分兩步,第一步用命令git reset head file,就回到了場景1,第二步按場景1操作。

git rm file            用於刪除乙個檔案

四、遠端倉庫 github:

要關聯乙個遠端庫,使用命令git remote add origin git@server-name:path/repo-name.git;

關聯後,使用命令「git push -u origin master」第一次推送master分支的所有內容;

此後,每次本地提交後,只要有必要,就可以使用命令git push origin master推送最新修改;

從遠端庫轉殖:

git clone [email protected]:michaelliao/gitskills.git

要轉殖乙個倉庫,首先必須知道倉庫的位址,然後使用git clone命令轉殖。

git支援多種協議,包括https,但通過ssh支援的原生git協議速度最快。

五、分支管理:

git checkout -b dev        首先,我們建立dev分支,然後切換到dev分支;

git checkout命令加上-b引數表示建立並切換,相當於以下兩條命令:

$ git branch dev

$ git checkout dev

git branch            檢視當前分支

git checkout master        切換回master分支

git merge dev            把dev分支的工作成果合併到master分支上

git merge命令用於合併指定分支到當前分支。

git branch -d dev

解決衝突:master 和 dev 版本有衝突

git log --graph            命令可以看到分支合併圖

分支管理策略:

git merge --no-ff -m "merge with no-ff" dev    強制禁用fast forward模式,從分支歷史上就可以看出分支資訊

git merge --ff -m "merge with --ff" dev      用fast forward模式,但這種模式下,刪除分支後,會丟掉分支資訊

bug分支

git stash                儲存當前工作現場

git stash list            檢視儲存的工作現場

git stash drop            刪除現場

git stash pop            恢復現場,並刪除現場

feature 分支

開發乙個新feature,最好新建乙個分支;

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

多人協作

git remote

git remote -v            檢視遠端庫資訊

git push origin dev            推送其他分支

git checkout -b dev origin/dev    建立遠端origin的dev分支到本地

git branch --set-upstream-to=origin/dev建立本地分支和遠端分支的關聯

git pull                 處理衝突

標籤git tag                檢視所有標籤

git tag 對當前分支,新建乙個標籤

git tag id                對歷史版本,新建標籤

git tag -a -m "***xx"    指定標籤資訊

git tag -s -m "***xx"    用pgp簽名標籤

git show 顯示標籤具體資訊

自定義git

git config -l            顯示配置資訊

git config --global color.ui true    git顯示顏色

忽略特殊檔案

編寫 .gitignore 檔案,儲存要忽略的檔名

配置別名

git config --global allas.st status

git config --global alias.co checkout

git config --global alias.ci commit

git config --global alias.br branch

git config --global alias.unstage 'reset head'

配置git的時候,加上--global是針對當前使用者起作用的,如果不加,那只針對當前的倉庫起作用。

每個倉庫的git配置檔案都放在.git/config檔案中.

cat .git/config            檢視配置檔案[allas]後面

當前使用者的git配置檔案放在使用者主目錄下的乙個隱藏檔案.gitconfig中

.搭建git伺服器

at指令 meid AT指令大全詳解完整版

file f 學習資料 at指令大全 at指令大全詳解完整版.txt 2012 03 12 09 50 51 一 一般命令 1 at cgmi 給出模組廠商的標識。2 at cgmm 獲得模組標識。這個命令用來得到支援的頻帶 gsm 900,dcs 1800 或pcs 1900 當模組有多頻帶時,回...

mysql完整版 MYSQL安裝(完整版)

一 完全解除安裝mysql yum remove mysql mysql server mysql libs compat mysql51 rm rf var lib mysql rm etc my.cnf 檢視是否還有mysql軟體 rpm qa grep mysql 如果存在的話,繼續刪除即可。...

php完整版,ThinkPHP5 0完整版

thinkphp5.0版本是乙個顛覆和重構版本,官方團隊歷時十月,傾注了大量的時間和精力,採用全新的架構思想,引入了更多的php新特性,優化了核心,減少了依賴,實現了真正的惰性載入,支援composer,並針對api開發做了大量的優化,包括路由 日誌 異常 模型 資料庫 模板引擎和驗證等模組都已經重...