Git學習筆記

2021-09-25 08:49:57 字數 3813 閱讀 9444

新建資料夾

1

2

mkdir name

cd name

初始化倉庫

1

git init

新建檔案(可先配置sublime)

1

subl test.txt

將檔案新增到快取

1

git add file

將快取提交給當前分支

1

git commit -m "注釋或者備忘"// -m表示後面是注釋

修改檔案

檢視檔案的變化

1

git diff

檢視倉庫狀況

1

git status

檢視歷史提交記錄

1

git log//簡化可+  --pretty=oneline

檢視歷史操作記錄

1

git reflog

回退到某一版本

1

2

git reset --hard head^//head當前版本,head^上乙個版本,head^^上上版本 ,head~100上100個版本

git reset --hard id

我們建立的資料夾可以理解為工作區 .git叫做版本庫,裡面有個git的版本庫里存了很多東西,其中最重要的就是稱為stage(或者叫index)的暫存區,還有git為我們自動建立的第乙個分支master,以及指向master的乙個指標叫head。我們建立git版本庫時,git自動為我們建立了唯一乙個master分支,所以,現在,git commit就是往master分支上提交更改。需要提交的檔案修改通通放到暫存區,然後,一次性提交暫存區的所有修改

並且每次修改,如果不用git add到暫存區,那就不會加入到commit

123

456

git checkout --file 

//分兩種情況,工作區修改但是未加入緩衝區,則回到清空工作區版本

//已經加入快取,工作區有修改,則恢復到有快取空工作區版本

//總之清空工作區

git reset head

//清空快取

123

4567

rm readme.txt//本地刪除檔案

git rm readme.txt

git commit -m 'remove readme.txt'//版本庫刪除檔案

git checkout --readme.txt//版本庫恢復誤刪檔案

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

配置ssh

github建立倉庫,取名字

本地倉庫執行命令

123

git remote add origin [email protected]:jan-spiry/learngit.git

//一開始輸入錯誤,直接關聯了jan-spiry,按照上面的執行

git remote remove origin//origin是你遠端倉庫的名字

同步本地遠端

123

45

git push -u origin master

//把本地庫的內容推送到遠端,用git push命令,實際上是把當前分支master推送到遠端。

//由於遠端庫是空的,我們第一次推送master分支時,加上了-u引數

//git不但會把本地的master分支內容推送的遠端新的master分支

//還會把本地的master分支和遠端的master分支關聯起來,在以後的推送或者拉取時就可以簡化命令。

日後同步

1

git push origin master

1

git clone [email protected]:jan-spiry/gitskills.git

123

4

git branch dev//建立分支

git checkout dev//切換分支

//相當於

git checkout -b dev

刪除分支

1

git branch -d dev

檢視分支

1

git branch

切換分支

1

git checkout dev//切換到dev

合併分支

1

git merge dev

應對於兩個分支均發展不能合併的情況

更改衝突部分

git log --graph檢視分支合併圖

禁用fast forward模式

1

git merge --no-f -m "描述" dev

git提供了乙個stash功能,可以把當前工作現場「儲藏」起來,等以後恢復現場後繼續工作

儲存工作區

1

git stash

檢視儲存的工作區

1

git stash list

恢復工作區

123

git stash drop//刪除儲存的工作區

git stash pop//恢復並刪除儲存

1

git branch -d feature //強制刪除分支

123

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

git push origin dev/master//同步分支

git checkout -b dev origin/dev//建立dev並且和遠端dev關聯

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

origin/

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