新建資料夾
12
mkdir namecd 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
回退到某一版本
12
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
中
123456
git checkout --file//分兩種情況,工作區修改但是未加入緩衝區,則回到清空工作區版本
//已經加入快取,工作區有修改,則恢復到有快取空工作區版本
//總之清空工作區
git reset head
//清空快取
1234567
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是你遠端倉庫的名字
同步本地遠端
12345
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
1234
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 版...