git學習筆記

2021-08-11 18:10:57 字數 4634 閱讀 8741

***************===git基本操作********************=

配置:

$ git config --global user.name "your name"

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

新增倉庫:

$ git init
加檔案:

$ git add readme.txt
確認檔案:

$ git commit -m "備註"
看倉庫狀態:

$ git status
看備份資訊:

$ git log

$ git log --pretty=oneline //一行顯示

版本回退:

$ git reset --hard head^//上個版本 

$ git reset --hard head^^//上兩個版

$ git reset --hard head~10

//上一百個版本

$ git reset --hard 23314123

//版本號

檢視工作區和版本庫裡面最新版本的區別:

$

gitdiff

head--

readme

.txt

撤銷工作區修改

$ git checkout -- readme.txt //回到上乙個add或commit前
從版本庫徹底刪掉檔案

$ git rm test.txt -->

$ git commit

還原工作區刪除的檔案

$

gitcheckout--

test

.txt

***************=分割線******************************=

***************=git分支******************************=

建立分支:

$ git checkout -b dev//名為dev的分支

或者:$ git branch dev --> $ git checkout dev

檢視當前分支:

$ git branch
切換分支:

$ git checkout master
合併指定分支到當前分支:

$ git merge dev
刪除分支:

$ git branch -d dev
分支衝突:

$ git merge dev 報錯-->

檢視報錯檔案(會有提示)-->

修改報錯檔案-->

add-->

commit-->

dev停留乙個版本,master前進乙個版本並合併dev-->

$ git log

--graph --pretty=oneline --abbrev-commit//檢視合併情況-->

$ git branch -d dev//刪除dev分支

禁用fast forward(合併會刪除分支的模式) 後 進行合併會留下合併痕跡:

$ git merge --no-ff

-m"備註" dev //合併後不會刪除dev

設計理念:

master分支不動,僅僅用來發布版本,只合併dev

dev為設計主線,其他分支都向dev合併

封存當前分支,去其他分支玩:

$ git stash-->

切換到其他分支操做完成-->

切回分支-->

$ git stash list//檢視封存記錄-->

或者:$ git stash pop//恢復並刪除封存點

強行刪除未合併的分支(d是大寫):

$ git branch -d dev
檢視遠端倉庫資訊

$ git remote  或者詳細資訊 $ git remote -v
將該本地分支推送遠端主分支:

$ git push origin master
推送到遠端其他分支:

$ git push origin dev
遠端轉殖只有master分支–>新建本地dev本對應遠端dev:

$ git checkout -b dev origin/dev --> 

commit->

$ git push origin dev//推送到遠端dev

$ git push origin dev時,遠端檔案和本地檔案有衝突,(遠端比本地新)解決:

$

gitpull

(若之前遠端dev和本地dev沒有連線要先

$git

branch--

set-

upstream

devorigin/dev再$

gitpull)-

->

進檔案檢視並修改衝突

-->add

-->commit

-->push

***************==分割線******************************

***************==git標籤******************************

在當前分支最新commit上打乙個 v1.0 的標籤:

$ git tag v1.0
在當前分支某個commit上打標籤:

$ git log

--pretty=oneline --abbrev-commit

//檢視commit資訊

$ git tag v0.9

6224937

//給6224937這個版本打上v0.9的標籤

$ git tag

-a v0.1

-m"備註"

3628164

//給3628164這個版本打上v0.1的標籤並備註

檢視當前分支標籤:

$ git tag
檢視標籤資訊:

$ git show v0.9
還可以通過-s用私鑰(gpg(gnupg))簽名乙個標籤:

$ git tag

-s v0.2

-m"signed version 0.2 released" fec145a

刪除標籤:

本地:$ git tag -d v0.1

遠端:$ git tag -d v0.9//先刪本地

-->$ git push origin :refs/tags/v0.9//再刪遠端

推送標籤到遠端:

$ git push origin v1.0

//指定標籤

$ git push origin --tags//全部標籤

***************==分割線******************************

***************==git配置******************************

$ git status忽略顯示檔案//標準新增完畢顯示working directory clean

在git工作區的根目錄下建立乙個特殊的.gitignore檔案-->

然後把要忽略的檔名填進去,git就會自動忽略這些檔案。

(被忽略後可以$ git add -f abc.txt 強行add並上傳)

檢查被忽略的檔案:

$ git check-ignore
詳細配置可以到這裡檢視:`

偷懶設定:

$ git config --global

alias.st status //st=status

$ git config --global

alias.unstage 'reset head'

//unstage=reset head//有引號

–global 針對當前使用者 不加則是針對當前倉庫 配置可以在$ cat .git/config 檢視

在當前使用者主目錄下(eg. c:\users

\administrator)的.gitconfig裡

其中[alias]是設定別名的標籤

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 版...