git相關整理

2021-09-26 10:23:41 字數 2392 閱讀 5294

git tortoisegit

git github gitlab

git共有三個級別的config檔案,分別是system、global和local。

在當前環境中,分別對應%gitpath%\mingw64\etc\gitconfig檔案、$home.gitconfig檔案和%repopath%.git\config檔案。

其中%gitpath%為git的安裝路徑,%repopath%為某倉庫的本地路徑。

所以system配置整個系統只有乙個,global配置每個賬戶只有乙個,而local配置和git倉庫的數目相同,並且只有在倉庫目錄才能看到該配置。

(gloabal對當前使用者所有倉庫有效

local只能對倉庫有效

system對系統所登陸的使用者有效)

git commit之後,想撤銷commit

寫完**後,我們一般這樣

git add . //新增所有檔案

git commit -m 「本功能全部完成」

執行完commit後,想撤回commit git reset --soft head^

head^的意思是上乙個版本,也可以寫成head~1 如果你進行了2次commit,想都撤回,可以使用head~2

–mixed

意思是:不刪除工作空間改動**,撤銷commit,並且撤銷git add . 操作

–soft

不刪除工作空間改動**,撤銷commit,不撤銷git add .

–hard

刪除工作空間改動**,撤銷commit,撤銷git add . 注意完成這個操作後,就恢復到了上一次的commit狀態。

git commit --amend

如果commit注釋寫錯了,只是想改一下注釋,此時會進入預設vim編輯器,修改注釋完畢後儲存就好了。

工作目錄–git add files–暫存區–git commit–版本歷史

給檔案重新命名 git mv old_files new-files

gitlog 檢視版本歷史

git log --oneline (簡單檢視)

git log -n4 --oneline (最近的幾個)

git log --all 檢視所有分支的版本資訊

–graph 可以圖示顯示

git branch -v 可以檢視本地多少分支

git checkout master 切換分支

gitk 圖形化看版本歷史 gitk --all

blob tree commit 三種格式

commit儲存一次提交的資訊,包括所在的tree,parent是誰,以及提交的作者是誰等資訊。

tag:標籤,實際可當做是commit的別名。

tree:代表的是目錄結構,或者簡單理解為代表乙個目錄

blob:用來儲存檔案內容,或者說表示乙個檔案

總結每一次commit對應乙個tree,這個tree又記錄了整個文件的目錄結構,檔案的每一次修改又會生成乙個blob,blob資訊記錄在tree下面。

分離頭指標(detached head):變更沒有基於某個branch去做,當你切換到別的branch時,這邊會丟掉。

刪除分支 : git branch -d 分支名

更改commit 的資訊 git rebase -i commit的雜湊值

連續的commit整理成乙個commit git rebase -i 父類commit的雜湊值

進去之後看提示資訊

間隔的幾個commit整理成乙個

git diff

git diff 比較的是工作目錄(working tree)和暫存區域快照(index)之間的差異

git diff --cached 檢視已經暫存起來的檔案(staged)和上次提交時的快照之間(head)的差異

git diff head 顯示工作版本(working tree)和head的差別

git diff topic master 直接將兩個分支上最新的提交做diff

git diff --stat 檢視簡單的diff結果,可以加上–stat引數

git diff head^ head 比較上次提交commit和上上次提交

git diff sha1 sha2 比較兩個歷史版本之間的差異

暫存區恢復成head一樣 git reset head

工作區恢復成暫存區一樣 git checkout --filesname

變更工作區內容 找checkout 暫存區 用reset

取消暫存區部分檔案的更改 git reset head – filesname

刪除檔案 git rm filesname

指定不需要git管理的檔案 .gitignore

啞協議和智慧型協議:

直觀區別:啞協議傳輸進度不可見;智慧型協議傳輸可見

傳輸速度:智慧型協議快

Git相關命令整理

git config global user.name 配置姓名 git config global user.email 配置郵箱 git config list 檢視配置資訊 git init 初始化本地倉庫 git status 檢視檔案狀態 git add 檔名 新增某個檔案到暫存區,如果寫...

Git相關命令整理

git config global user.name 配置姓名 git config global user.email 配置郵箱 git config list 檢視配置資訊 git init 初始化本地倉庫 git status 檢視檔案狀態 git add 檔名 新增某個檔案到暫存區,如果寫...

git相關整理(持續更新)

恢復相關 git checkout file可以丟棄工作區的修改 git reset head file可以把暫存區的修改撤銷掉 unstage 重新放回工作區 git reset hard commit id 在版本的歷史之間穿梭 git reset hard head 上乙個版本 忽略檔案 沒有...