我要出一篇 Git 總結!先講一下大緻步驟:
如果是第一次接觸
git
請先克隆倉庫:
1.在本地建立項目檔案夾,例如在D盤根目錄下
D:\
md myapp
cd myapp
2.從遠端git上拷貝下[email protected]開頭的url後,指令行輸入:
git clone [email protected]
3.配置全局或此項目 使用者名、郵箱位址:
全局配置:
git config --global user.name "kaixin"
git config --global user.email "[email protected]"
此項目配置:
git config user.name "kaixin"
git config user.email "[email protected]"
配置檔案儲存在:
C:\Users\Administrator\
中,檔案名:
.gitconfig
非 master 分支送出代碼
1. 将自己的代碼更改添加到暫存盤
git add .
2. 将暫存盤裡的檔案更改送出一次
git commit -m "注釋"
3. 将目前分支切換到 master
git checkout master
4. 檢視目前分支
git branch
有 * 代表目前,如圖,表示目前分支為 master 主分支
5. 拉取主分支代碼
git pull
6. 将分支切換回 原來分支
git checkout
+ 原來分支
7. 将分支代碼與主分支合并
git merge master
8. 将代碼推送一次
git push
如果推送失敗,可能原因是沒有上遊分支
git remote -v
(檢視是否添加了遠端倉庫)
git remote add pb
+ [email protected]… (添加遠端倉庫)
git branch
(檢視遠端分支)
git push origin
+ 想要推送的分支名(配置推送分支)
master(主分支)送出代碼
1.送出代碼之前,需要先從伺服器上面拉取代碼,防止自己覆寫掉别人的代碼。
git pull
如果是新項目,這一步要替換為
git init
用來初始化項目
2.檢視目前工作目錄樹的工作修改狀态
git status
Untracked 此檔案在本地儲存庫中,沒有加入git 庫;
Modified 此檔案已修改,但沒有進行其它操作;
Deleted 檔案在本地删除,伺服器沒有删除;
等
狀态
3.将狀态改變的代碼送出至緩存
git add -A
将修改後
未被
跟蹤的代碼送出至緩存;
git add -U
将修改後
并被
跟蹤的代碼送出至緩存。
4.将代碼送出到本地倉庫中
git commit -m "注釋"
5.将代碼推送到伺服器端
git push
如果是第一次推送代碼,需要配置遠端分支。
git push -u origin master
檢測目标分支是否存在,若不存在立即建立并推送
git push origin master
推送到指定分支
如果推送失敗,可以
git remote -v
檢視是否添加了遠端倉庫
也可以使用
git push origin -f master
進行強制推送
常用指令
git init
初始化Git倉庫
git pull
拉取資料并合并(前提是本地分支已經跟蹤遠端分支)
git status
檢視目前倉庫檔案狀态
git add.
添加檔案到暫存區
git commit -m "本次送出備注"
送出暫存區的檔案到本地倉庫
git push <remote> <branch>
推送指定的分支到指定的倉庫
git push
把本地倉庫的檔案推送到遠端倉庫
git fetch
拉取資料(并不會合并到本地)
gti fetch
倉庫名 拉取指定倉庫的資料
git remote add pb https://github.com/paulboone/ticgit
添加遠端倉庫(git remote add 名稱 遠端倉庫位址)
git clone https://github.com/paulboone/ticgit
克隆遠端倉庫到本地(預設名稱為origin 分支名為master)
git remote
檢視對應的遠端倉庫
git remote -v
檢視對應的遠端倉庫及URL
git remote show origin
檢視遠端倉庫的詳細資訊
git remote rename old new
更改倉庫名為old的名稱為new
git remote remove paul
删除名稱為paul的倉庫
修改遠端倉庫位址
git remote set-url origin <new url>
修改名稱為origin的倉庫的位址。
讓本地的分支跟蹤遠端分支
在此之前需指定分支push之後才能跟蹤
先用
git push -u origin master
這種方式指定上遊分支并送出一次後, 才能使用:
git branch --set-upstream-to=origin/master master
指令,
git branch --set-upstream-to=
遠端分支 本地分支。
示例:
git branch --set-upstream-to=origin/local local
或者是:
git branch -u origin/local
目前分支跟蹤origin/local分支
分支
git branch testing
建立一個testing的分支
git checkout testing
切換到testing分支
git checkout -b <newbranchname>
建立分支的同時并切換到該分支
git merge <branchname>
将branchname分支與目前分支合并
git branch
檢視現存分支
git branch -v
檢視現存分支并顯示最後一次送出
git branch --merged
檢視哪些分支已經合并到目前分支
git branch --no-merged
與上相反
git branch -d <branchname>
删除分支
git branch -D <branchname>
強制删除分支(用于删除還未合并的分支)
遠端分支
git branch -r
檢視遠端分支
git branch -a
傳看所有分支(本地+遠端)
git push origin --delete <branch>
删除遠端分支
檢視本地分支和遠端分支的對應情況
git branch -vv
隐藏并存儲改動檔案
git stash
隐藏并存儲改動的所有檔案,
chekcout <branch>
時可優先使用, 指令後加save ‘commit’ 添加備注,友善查找
git stash list
顯示stash清單
git stash show
顯示存儲了哪些改動,預設是第一個,如指定顯示,後面加
[email protected]{num}
,例:git stash show [email protected]{1}
git stash show -p
顯示改動的檔案詳細資訊,預設是第一個,如指定顯示,後面加[email protected]{num},
例:
git stash show [email protected]{1} -p
git stash drop
删除存儲,預設删除第一個, 可加[email protected]{$num}删除指定存儲
git stash clear
删除所有緩存的stash
git stash apply
應用存儲到git倉庫,預設應用第一個,此操作不删除stash清單,應用指定存儲同上
git stash pop
應用存儲到git倉庫并在清單删除該存儲,預設應用第一個,應用指定存儲同上
注:
git stash
隻會存儲在git版本控制器中的檔案,如果是新增檔案需先add到暫存區
常見問題小節!
1.誤将代碼送出到緩存中,
利用
git reset
撤回緩存中的代碼。
2.誤将代碼送出到本地倉庫中,
git reset -soft 版本号
回退到某個版本,隻回退了commit 資訊,不會改變已修改的代碼;
git reset -hard 版本号
徹底回退到某一個版本,本地的代碼也會改變為上一個版本内容。
3.
git commit
送出時報錯:
husky>pre-commit(node...)...
分析:項目中使用了husky子產品,它會在你送出的時候先執行嚴格模式,對代碼進行檢查,有error就會終止送出,這個操控嚴格模式的檔案在
.git 檔案夾下的 hooks 檔案夾下,
它叫
pre-commit
你可千萬不要删掉它,否則你會遇到另一個複雜的多的問題,網上還沒有人能把這個問題解決,我們不要動它,慢慢退回去,在git目錄下輸入:
git commit -m "注釋" --no -verify
這條指令能讓你 “先斬後奏,皇權特許!這就是西廠,夠不夠清楚”
嘔心瀝血,往後會不斷完善,請給一個免費的小❤❤,轉載要注明出處哦!
“我仍認為我們接受高等教育的目的是幫助我們的家鄉擺脫貧困,而不是擺脫我們貧困的家鄉。生如蝼蟻當有鴻鹄之志,為天地立心,為生民立命,為往聖繼絕學,為萬世開太平。”
推薦閱讀:
CSS旋轉魔方
CSS小鲨魚
忍術!貓眼三勾玉
召喚神龍
拟态小象