學習筆記 Git

2022-09-12 08:33:11 字數 3555 閱讀 1326

//幫助git help

git --help

git -h

//配置

//使用者配置

git config --global user.name "john everything"      

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

//配置級別

--local 預設,只影響本倉庫  (.git/config)

--global  影響當前使用者所有倉庫  (~/.gitconfig)

--system 影響全系統的倉庫  (/etc/gitconfig)

//檢視倉庫狀態

git status

//初始化倉庫

git init

//新增檔案到暫存區(使跟蹤檔案)

git add

//新增忽略檔案

./gitignore中配置忽略檔案

//刪除檔案

git rm --cached  //僅從暫存區刪除

git rm  //從暫存區和工作目錄刪除

git rm $(git ls-files --deleted)   //刪除所有被跟蹤,但在工作目錄已被刪除的檔案

//提交檔案

git commit -m "initial commit"

git commit -a -m "initial commit"

//提交歷史

git log

git log --oneline

git log --color --graph --pretty=format:'%cred%h%creset -%c(yellow)%d%creset %s %cgreen(%cr) %c(bold blue)<%an>%creset' --abbrev-commit

//設定命令別名

git config alias.

git config --global alias.lg "log --color --graph --pretty=format:'%cred%h%creset -%c(yellow)%d%creset %s %cgreen(%cr) %c(bold blue)<%an>%creset' --abbrev-commit

"//檢視版本差異

git diff         //檢視工作目錄與暫存區的差異

git diff --cached        //暫存區與某次提交的差異,預設為head

git diff         //工作目錄與某次提交的差異

//撤銷工作目錄修改

git checkout --

//撤銷暫存區內容

git reset head

//撤銷全部改動

git checkout head --

//分支操作

git branch

//增加分支

git branch -d

//刪除分支

git branch -v            //顯示所有分支資訊

//切換分支

git checkout

//切換到某分支

git checkout -b

//建立並切換到某分支

git checkout //切換到某commit id

git checkout -            //切換到上一分支

//回退到某次提交狀態

git reset --mixed //回退到某提交狀態,並恢復暫存區

git reset --hard //回退到某提交狀態,恢復暫存區和工作目錄

git reset --soft //回退到某提交狀態,保持暫存區和工作目錄不變

//檢視最近提交資訊

git reflog

//對commitid使用捷徑

a^          //a上的父提交

a~n         //a之前的第n次提交

//儲存工作目錄和暫存區

git stash s**e 『first s**e』             //儲存到stash區,返回乾淨的暫存區和工作目錄

git stash list          //列出stash區的目錄

git stash drop stash@         //刪除stash區的某次儲存

//分支合併

git merge

//在branch1中將branch1和branch2合併

git merge

--no-ff         //防止使用fast-forward方式的合併

//檢視git資訊

git cat-file -p head         //檢視head資訊

//發生衝突時,手動修改檔案後進行手動提交

git add .

git commit -m 'resolve'

//修剪提交歷史支線,變基

git rebase master           //使其他分支在master分支上重演,變為線性提交

git rebase --onto master //選擇性地使commitid之後的提交在master上重演

//使用標籤

git tag v0.1 e39d0b2

git tag -a 0.1.3 -m 「release version 0.1.3″         //-a 0.1.3是增加 名為0.1.3的標籤,

-m 後面跟著的是標籤的注釋

git push origin --tags        //–tags引數表示提交所有tag至伺服器端,普通的git push origin master操作不會推送標籤到伺服器端。

git tag -d 0.1.3         //刪除標籤

git push origin :refs/tags/0.1.3           //刪除遠端伺服器的標籤

//遠端連線伺服器

git init ~/git-server --bare          //初始化乙個本地的遠端伺服器,裸倉庫,沒有工作目錄

git push /users/test/git-server master          //提交到遠端伺服器

git push -u origin master           //如果當前分支與多個主機存在追蹤關係,則可以使用-u選項指定乙個預設主機,這樣後面就可以不加任何引數使用git push

//配置遠端對映

git remote add origin ~/git-server         //新增乙個遠端倉庫別名

git remote -v                   //檢視遠端倉庫資訊

//獲取遠端倉庫的提交

git fetch origin master

git pull = git fetch + git merge

//獲取獲取遠端倉庫

git clone = git init + git remote + git pull

git clone ~/git-server test         //從伺服器端將倉庫轉殖到本地test

Git學習筆記

git stash git stash list 顯示git棧內的所有備份,可以利用這個列表來決定從那個地方恢復。git stash clear 清空git棧。此時使用gitg等圖形化工具會發現,原來stash的哪些節點都消失了。關於git stash的詳細解釋,適用場合,這裡做乙個說明 使用git...

git 學習筆記

1 git checkout master 切換分支 2 git checkout b xx 新建分支,同時切換到該分支 3 dev 4 git add a 將變動檔案,提交到index 5 git commit m 將 暫存區 檔案,加入到版本控制中。6 git checkout master 7...

Git 學習筆記

顯示版本庫.git所在的目錄 git rev parse git dir 顯示工作區的根目錄 git rev parse show toplevel 相對於工作區根目錄的相對目錄 git rev parse show prefix git config 命令各引數的區別 git config e 版...