天天看點

Git分布式版本控制器非 master 分支送出代碼常用指令

  我要出一篇 Git 總結!先講一下大緻步驟:

Git分布式版本控制器非 master 分支送出代碼常用指令

如果是第一次接觸

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

Git分布式版本控制器非 master 分支送出代碼常用指令

有 * 代表目前,如圖,表示目前分支為 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

這條指令能讓你 “先斬後奏,皇權特許!這就是西廠,夠不夠清楚”

嘔心瀝血,往後會不斷完善,請給一個免費的小❤❤,轉載要注明出處哦!

Git分布式版本控制器非 master 分支送出代碼常用指令

“我仍認為我們接受高等教育的目的是幫助我們的家鄉擺脫貧困,而不是擺脫我們貧困的家鄉。生如蝼蟻當有鴻鹄之志,為天地立心,為生民立命,為往聖繼絕學,為萬世開太平。”

推薦閱讀:

CSS旋轉魔方

CSS小鲨魚

忍術!貓眼三勾玉

召喚神龍

拟态小象