導航:首頁 > 程序命令 > gitbranch命令

gitbranch命令

發布時間:2023-03-21 07:53:09

1. git branch管理常用命令

git
branch管理常用命令查看本地分支[plain]git
branch
*
dev
master
*代表當前位於dev分支查看遠程分支[plain]git
branch
--remote
origin/dev
origin/master
創建分支[plain]git
checkout
-b
new_branch
注意,new_branch的代碼來自於當前分支切換分支[plain]git
checkout
another_branch
和創建分支就差-b參數push本地分支代碼到遠端伺服器[plain]git
push
origin
branch_name
如果遠端伺服器沒有該分支,將會自動創建pull遠端分支代碼到本地對應分支[plain]git
pull
origin
branch_name
刪除本地分支,首先切換到別的分支,然後才能刪除某個分支[plain]git
checkout
b
git
branch
-d
a
刪除遠程分支[plain]git
push
origin
--delete
branch_name
合並本地分支[plain]git
merge
b
假設當前分支為dev,上面的命令就是將本地的b分支代碼合並到當前分支dev中合並遠程分支,和前面的幾乎一樣,[plain]git
merge
origin/b
遠程分支b被合並到本地當前分支dev中了。

2. Git工作流程和常用命令分享

git是一個分布式版本控制軟體,最初由林納斯·托瓦茲創作,於2005年以GPL發布。最初目的是為更好地管理Linux內核開發而設計。林納斯·托瓦茲在編寫第一個版本時就使用了「git」這個名稱, 他將工具描述為「愚蠢的內容跟蹤器」。

[圖片上傳失敗...(image-c23291-1619063471664)]

四個專有名詞:

Workspace:工作區

Index / Stage:暫存區

Repository:倉庫區(或本地倉庫)

Remote:遠程倉庫

打開本地生成的.git隱藏文件

創建新項目gittest

創建新文件test.txt

git add <file>

git status顯示有變更的文件

git restore <file> 撤迴文件修改內容

git commit –m 「注釋」

修改內容-> 執行git diff工作區和本地倉庫的差異

git log顯示當前分支的版本歷史

git reset --hard HEAD^ 當前版本回退到上一個版本

git reset --hard HEAD^ ^ 當前版本回退到上上一個版本

git reset --hard HEAD~100 回退到前100個版本

恢復已經刪除的版本

git reflog 展示所有的提交記錄

git reset --hard <版本號> 回退到指定版本

git push origin master 將本地master分支推送到遠程master分支,相當於創建遠程分支

git checkout -b dev = git branch dev + git checkout dev 創建並切換分支

git branch 不帶參數,會列出所有本地的分支;帶參數表示創建分支

git branch –d name 刪除本地分支(-D表示強制刪除)

git branch –r 不帶參數,會列出所有遠程的分支

git branch --set-upstream-to=origin/<branch本地> 本地和遠程分支關聯

git push origin –delete <branch> 刪除遠程分支

git merge release用於合並指定分支到當前分支上

註:Fast-forward表示的合並是「快進模式」,也就是直接把master指向dev的當前提交,所以合並速度非常快。在這種模式下,刪除分支後,會丟掉分支日誌信息。可以使用帶參數 --no-ff來禁用」Fast forward」模式。

git merge --no-ff -m 「注釋」dev

git checkout release 切換release分支

vim test.txt 修改某條內容

git commit test.txt -m 「release修改某條內容」

git checkout master 切換master分支

vim test.txt 修改某條同release內容

git commit test.txt -m 「master修改某條內容」

git merge release 顯示沖突

git status 顯示沖突提示

Git用<<<<<<<,=======,>>>>>>>標記出不同分支的內容,其中>>>>release 是指release上修改的內容
vim test.txt 修改內容

git add test.txt

git commit -a -m 「fix conflict」

當前分支有沒有提交但也不合適現在就提交的內容,Git提供了暫儲功能stash

git checkout release

vim test.txt 修改test.txt內容

git checkout develop 此時會提示Aborting

git status 查看當前狀態

Git stash list 查看所有暫儲列表

git stash apply恢復,恢復後stash內容並不刪除,你需要使用命令git stash drop來刪除;
另一種方式是使用git stash pop,恢復的同時把stash內容也刪除了

創建Git Tag並推送遠程伺服器

git tag -a V1.0.0 –m「注釋」 //創建TAG

git push origin V1.0.0 //推送到遠程伺服器

git push origin --tag //提交所有tag至伺服器

git tag -d V1.0.0 //刪除本地標簽

git push origin --delete tag <tagname> //刪除遠程標簽

HEAD,它始終指向當前所處分支的最新的提交點。你所處的分支變化了,或者產生了新的提交點,HEAD就會跟著改變

add相關命令很簡單,主要實現將工作區修改的內容提交到暫存區,交由git管理。

git add .添加當前目錄的所有文件到暫存區

git add 添加指定目錄到暫存區,包括子目錄

git add 添加指定文件到暫存區

commit相關命令也很簡單,主要實現將暫存區的內容提交到本地倉庫,並使得當前分支的HEAD向後移動一個提交點。

git commit -m 提交暫存區到本地倉庫,message代表說明信息

git commit --amend -m 使用一次新的commit,替代上一次提交

上傳本地倉庫分支到遠程倉庫分支,實現同步。

git push 上傳本地指定分支到遠程倉庫

git push --force強行推送當前分支到遠程倉庫,即使有沖突

git push --all推送所有分支到遠程倉庫

關於分支,大概有展示分支,切換分支,創建分支,刪除分支這四種操作。

git branch列出所有本地分支

git branch -r列出所有遠程分支

git branch -a列出所有本地分支和遠程分支

git branch 新建一個分支,但依然停留在當前分支

git checkout -b 新建一個分支,並切換到該分支

git checkout 切換到指定分支,並更新工作區

git branch -d 刪除分支

git push origin --delete 刪除遠程分支

關於分支的操作雖然比較多,但都比較簡單好記

merge命令把不同的分支合並起來。在實際開放中,我們可能從master分支中切出一個分支,然後進行開發完成需求,中間經過R3,R4,R5的commit記錄,最後開發完成需要合入master中,這便用到了merge。

git merge 合並指定分支到當前分支

註:如果在merge之後,出現conflict,主要是因為兩個用戶修改了同一文件的同一塊區域。需要針對沖突情況,手動解除沖突。

rebase又稱為衍合,是合並的另外一種選擇。

在開始階段,我們處於new分支上,執行git rebase dev,那麼new分支上新的commit都在dev分支上重演一遍,最後checkout切換回到new分支。這一點與merge是一樣的,合並前後所處的分支並沒有改變。

git rebase dev,通俗的解釋就是new分支想站在dev的肩膀上繼續下去。

rebase操作不會生成新的節點,是將兩個分支融合成一個線性的提交。

rebase也需要手動解決沖突。

1.如果你想要一個干凈的,沒有merge commit的線性歷史樹,那麼你應該選擇git rebase

2.如果你想保留完整的歷史記錄,並且想要避免重寫commit history的風險,你應該選擇使用git merge

reset命令把當前分支指向另一個位置,並且相應的變動工作區和暫存區。

git reset —soft 只改變提交點,暫存區和工作目錄的內容都不改變

git reset —mixed 改變提交點,同時改變暫存區的內容

git reset —hard 暫存區、工作區的內容都會被修改到與提交點完全一致的狀態

git revert用一個新提交來消除一個歷史提交所做的任何修改。

在回滾這一操作上看,效果差不多。git revert是用一次新的commit來回滾之前的commit,git reset是直接刪除指定的commit。

在 Git工作區的根目錄創建一個特殊的.gitignore文件。

在.gitignore文件中,添加需要忽略的文件。

git rm -r --cached . //將倉庫中的index遞歸刪除

git add . //重新添加倉庫索引

git commit -m 「update git.ignore」 //提交

git branch --set-upstream-to=origin/<branch> <branch> //重現將本地倉庫和遠程倉庫關聯

最後,如果此篇博文對你有所幫助,別忘了點個贊喲~

3. Git常用命令

1.1 配置環境

當安裝Git後首先要做的事情是設置用戶名稱和email地址。這是非常重要的,因為每次Git提交都會使用該用戶信息。該用戶信息和GitHub上注冊的遠程倉庫的相關信息沒有任何關系。

git config --global user.name "你的名字"

git config --global user.email "你的郵箱"

git config --list

配置信息保存在用戶目錄下的.giitconfig文件中

1.2 獲取Git倉庫

要使用Git對我們的代碼進行版本控制,首先需要獲得Git倉庫

獲取Git倉庫通常有兩種方式:

執行步驟如下:

1、在電腦的任意位置創建一個空目錄作為我們的本地Git倉庫

2、進入這個目錄中,點擊右鍵打開Git bash 窗口

3、執行命令git init

可以通過Git提供的命令從遠程倉庫進行克隆,將遠程倉庫克隆到本地的命令形式為:

git clone 遠程Git倉庫地址

1.3 工作目錄、暫存區以及版本庫概念

版本庫:.git隱藏文件就是版本庫,版本庫存儲了很多配置信息、日誌信息和文件版本信息等

工作目錄(工作區):包含.git文件夾的目錄就是工作目錄,主要用於存放開發的代碼

暫存區:.git文件夾中有很多文件,其中一個index文件就是暫存區,也可以叫做stage。暫存區是一個臨時保存修改文件的地方

1.4 Git工作目錄下文件的兩種狀態

Git工作目錄下的文件存在兩種狀態:

Unmodified 未修改狀態

Modified 已修改狀態

Staged 已暫存狀態

這些文件的狀態會隨著我們執行Git的命令發生變化

1.5 本地倉庫操作

git status 查看文件狀態

也可以使用git status -s使輸出信息更簡潔

git add 將未跟蹤的文件加入暫存區,將已經修改的文件加入暫存區也是通過這個命令

git reset 將暫存區文件取消暫存

git commit -m 「你的說明」 將暫存區文件提交到本地倉庫

git rm 刪除文件 說明:這種操作是直接將文件加入到暫存區裡面,直接提交到本地倉庫生效,而直接刪除的話沒有進入到暫存區,需要先把文件加入到暫存區之後,再提交到本地倉庫。

將文件添加至忽略列表

一般我們總會有些文件無需納入Git的管理,也不希望他們總出現在未跟蹤文件列表。通常這些都是自動生成的文件,比如日誌文件,或者編譯過程中創建的臨時文件等。在這種情況下,我們可以在工作目錄中創建一個名為.gitnore的文件(文件名稱固定),列出忽略的文件模式。下面是一個示例:#代表注釋

由於windows無法創建不含文件名的文件,因此我們需要在bash窗口中用如下命令創建。

git log 查看日記記錄

1.6 遠程倉庫操作

如果想查看已經配置的遠程倉庫伺服器,可以運行git remote 命令。它會列出指定的每一個遠程伺服器的簡寫。如果已經克隆了遠程倉庫,那麼至少可以看見origin,這是Git克隆的倉庫伺服器的默認名字

git remote -v 可以查看對遠程倉庫詳細一點的說明

git remote show origin 可以查看對origin更詳細的遠程倉庫的說明

運行git remote add 添加一個遠程Git倉庫,同時指定一個可以引用的簡寫

如果你想獲得一份已經存在了的Git倉庫的拷貝,這時需要用到 git clone 命令。Git克隆的是Git倉庫伺服器上的幾乎所有數據(包括日誌信息、 歷史 記錄等),而不僅僅是復制工作所需要的文件。當你執行git clone 命令的時候,默認配置下Git倉庫中的每一個文件的每一個版本都將被拉取下來。

如果因為一些原因想要移除一個遠程倉庫,可以使用git remote rm

注意:此命令只是從本地移除遠程倉庫的記錄,並不會影響到遠程倉庫

git fetch 是從遠程倉庫獲取最新版本到本地倉庫,不會自動merge

說明:如果使用fetch命令,拉取的文件會放到版本庫裡面,不會自動整合到工作區,如果需要整合到工作區,需要使用 git merge 遠程倉庫別名/遠程倉庫分支

git pull 是從遠程倉庫獲取最新版本並merge到本地倉庫

注意:如果本地倉庫不是從遠程倉庫克隆,而是本地創建的倉庫,並且倉庫中存在文件,此時再從遠程倉庫中拉取文件的時候會報錯(fatal:refusing to merge unrelated histories),解決此我呢提可以在git pull 命令後加入參數 --allow-unrelated-histories

git push

1.7 Git分支

幾乎所有的版本控制系統都是以某種形式支持分支。使用分支意味著你可以把你的工作從開發主線上分離開來,以免影響開發主線。Git的master是一個特殊分支。它跟其它分支沒有區別。之所以每一個倉庫都有mater分支,是因為git init默認創建它,並且大多數人都懶得去改動它。

# 列出所有本地分支

$ git branch

#列出所有遠程分支

$ git branch -r

#列出所有本地分支和遠程分支

$git branch -a

git branch 分支名稱

git checkout 分支名稱

git push 遠程倉庫別名 遠程倉庫分支

git merge 分支名稱 說明:在當前分支下合並其他分支

注意:如果兩個分支存在同樣的文件名且同行的內容不一樣,那麼會產生矛盾,需要自己手動修改產生矛盾後的文件,然後添加到暫存區然後提交。

git branch -d 分支名稱

如果要刪除的分支中進行了一些開發動作,此時執行上面的刪除命令並不會刪除分支,可以將命令中的-d參數改為-D

如果要刪除遠程倉庫中的分支,可以使用命令git push origin -d branchName

1.8 Git標簽

像其他版本控制系統一樣,Git可以給 歷史 中的某一給提交打上標簽,以示重要。比較有代表性的是人們會使用這個功能來標記發布結點(v1.0、v1.2等)。標簽指的是某個分支某個特定時間點的狀態。通過標簽,可以很方便地切換到標記時的狀態。

#新建一個tag

$ git tag [tagName]

$ git tag

#新建一個分支,指向某個tag

$ git checkout -b [branch] [tag]

#刪除本地tag

$git tag -d[tag]

#刪除遠程tag

$git push origin :refs/tags/[tag]

4. git 看不到他人提交的遠程分支解決

解決辦法

運行:

git fetch 命令簡介及擴展

默認情況下棚祥模,git fetch取回所有分支(branch)的更新。如果只想取回特定分支的更新,可以指定分支名。

比如,取回origin主機的master分支。所取回的更新,在本地主機上要用」遠程主機名/分支名」的形式讀取。比如origin主機的master,就要用origin/master讀取。

git branch命令的-r選項,可以用來查看遠程分支,-a選項查看所有分支。

上面命令表示,本地主機的當前分支宴褲是master,遠程分支是origin/master。
取回遠程主機的更新以後,可以在它的基礎鏈緩上,使用git checkout命令創建一個新的分支。

上面命令表示,在origin/master的基礎上,創建一個新分支。
此外,也可以使用git merge命令或者git rebase命令,在本地分支上合並遠程分支。

或者

上面命令表示在當前分支上,合並origin/master。

5. Git創建新分支,並將本地代碼提交到新分支上

clone Github 上的Repository,如下:

使用 git branch命令,如下:

*標識的是你當前所在的分支。

命令如下:

命令如下:

命令如下:

例如:

命令如下:

例枯梁如:

創建分支的同時切換到該分支上,命令如下:

git checkout -b [branch name] 的效果相當於以下兩步操作:

命令如下:

例如:

命令如察做下:

例如:

命令如下:

分支名敗敗衡前的冒號代表刪除。

例如:

命令如下:

例如:

命令如下:

命令如下:

命令如下:

例如:

https://blog.csdn.net/top_code/article/details/51931916
https://blog.csdn.net/a19891024/article/details/54138029

6. 如何創建一個新的git分支

1.進薯胡入本地git倉庫目錄下,打開git bash環境

2.使用git branch命令可以查看到,當前目錄只有一個master分支

3.使用命令: git checkout -b dev_newstyle(分支名) 創建一個名為襲睜dev_newstyle的分支,同時切換到該分支。

4.使用命令 git push origin dev_newstyle(分拍手歲支名) 將本地新增加的分支添加到遠程伺服器。

7. Git遠程操作詳解

1.git remote命令列出所有遠程主機

2.使用-v選項,可以參看遠程主機的網址

3.git remote show命令加上主機名,可以查看該主機的詳細信息。

4.git remote add命令用於添加遠程主機

5.git remote rm命令用於刪除遠程主機

6.git remote rename命令用於遠程主機的改名

1.默認情況下,git fetch取回所有分支(branch)的更新到本地。

2.如果只想取回特定緩型分支的更新,可以指定分支名。

3.git branch命令的-r選項,可以用來查看遠程分支,-a選項查看所有分支

4.回遠程主機的更新以後,可以在它的基礎上,使用git checkout命令創建一個新的分支

5.在本地分支上合並遠程分支,表示在當前分支上,合並origin/master

1.取回遠程主機某個分支的更新,再與本地的指定分支合並

2.取回origin主機的next分支,與本地的master分支合並

3.如果遠程分支是與當前分支合並,則冒號後面的部分可以省略。

4.上述操作,等同於先做git fetch,再做git merge

5.指定當前分支追蹤origin/next分支。

如果當前分支與遠程分支存在追蹤關系,git pull就可以省略遠程分支名

6.如果遠程主機刪除了某個分支,默認情況下,git pull 不會在拉取遠程分支的時候,刪除對舉如應的本地分支。

這是為了防止,由於其他人操作了遠程主機,導致git pull不知不覺刪除了本地分支。

但是,你可以改變這個行為,加上參數 -p 就會在本地刪除遠程已經刪除的分支。

Git 遠程倉庫沒有實時更新分正哪啟支使用:

1.git push命令用於將本地分支的更新,推送到遠程主機。它的格式與git pull命令相仿

git pull是<遠程分支>:<本地分支>,而git push是<本地分支>:<遠程分支>

2.如果省略遠程分支名,則表示將本地分支推送與之存在"追蹤關系"的遠程分支(通常兩者同名),

如果該遠程分支不存在,則會被新建。

3.如果省略本地分支名,則表示刪除指定的遠程分支,因為這等同於推送一個空的本地分支到遠程分支。

4.如果當前分支與遠程分支之間存在追蹤關系,則本地分支和遠程分支都可以省略

5.如果當前分支與多個主機存在追蹤關系,則可以使用-u選項指定一個默認主機,

這樣後面就可以不加任何參數使用git push

6.不帶任何參數的git push,默認只推送當前分支,這叫做simple方式。

此外,還有一種matching方式,會推送所有有對應的遠程分支的本地分支。

Git 2.0版本之前,默認採用matching方法,現在改為默認採用simple方式。

如果要修改這個設置,可以採用git config命令

7.還有一種情況,就是不管是否存在對應的遠程分支,

將本地的所有分支都推送到遠程主機,這時需要使用--all選項

8.如果遠程主機的版本比本地版本更新,推送時Git會報錯,要求先在本地做git pull合並差異,
然後再推送到遠程主機。這時,如果你一定要推送,可以使用--force選項

9.git push不會推送標簽(tag),除非使用--tags選項

命令作用:

只能清空全部已修改的問題件, 但是對於新建的文件和文件夾無法清空, 必須組合下面命令;

命令作用: 清空所有新建的文件和文件夾;

8. 以下哪些git命令可以切換branch

查看分支:x0dx0a $ git branch 該命令會類出當先項目中的所虛鎮有分支信息,頃檔其中以*開頭的表示當前所在的分支。參數-r列出遠程倉庫中的分支,而-a則遠程與本地倉庫的全部分支。x0dx0a創建新分支:x0dx0a $ git branch testing 創建一個名為testing的分支x0dx0ax0dx0a切換分支:x0dx0a $ git checkout teting 切換到testing分支上。通過向該命雀譽亂令傳遞一個-b參數,可以實現創建並切換分支的功能。

9. 如何使用git命令回滾到指定版本以及返回到新版本

一. 相關git命令

1.git branch:查看當前分支,如果在後面加-a則表示查看所有分支。

2.git log:查看提交歷史,在commit id這一餘櫻項中可以看到提交的歷史版本id。

3.git reflog:查看每一次命令的記錄

4.git reset --soft:回退到豎尺叢某個版本,只回退了commit的困啟信息。

5.git reset --mixed:為默認方式,不帶任何參數的git reset,即時這種方式,它回退到某個版本,只保留源碼,回退commit和index信息。

6.git reset --hard:徹底回退到某個版本,本地的源碼也會變為上一個版本的內容,撤銷的commit中所包含的更改被沖掉。

二:步驟

1.回滾到指定版本

首先進入項目根目錄下,使用git log 命令,找到需要返回的commit id 號,使用git reset --hard 後跟你需要的commit id號,這樣你就回到了指定的版本,注意git reset --hard與git reset  --soft的區別:

git reset –-soft:回退到某個版本,只回退了commit的信息,不會恢復到index file一級。通常使用在當你git commit -m "注釋"提交了你修改的內容,但內容有點問題想撤銷,又還要提交,就使用soft,相當於軟著路;

git reset -–hard:徹底回退到某個版本,本地的源碼也會變為上一個版本的內容,撤銷的commit中所包含的更改被沖掉,相當於硬著路,回滾最徹底。

2.返回到最新版本

當你發現需要回滾到最新版本時,可以採用以下指今步驟

git log:查看歷史提交

git reflog:查看每一次命令記錄

通過git reflog命令查看到之後,我們再利用 git reset 來返回到相應的版本即可,HEAD前面的一串字元為我們簡寫的ID,所以最後輸入

git reset --hard ca936c3即回滾到了最新的版本號了

10. git關聯遠端分支

1.新建一個本地的分支

git branch -b newbranch  //這個命令是新建一個分支,並切換到該分支上去

(git branch newbranch;    git checkout newbranch)銷舉型這兩個命令合起來等同於上面的一個命令

2.新建一個遠程分支(同名字的遠程分支)

git push origin newbranch:newbranch  //創建了答型一個遠程分支名字叫 newbranch

3.把本地的新分支,和遠程的新分支關聯

git push --set-upstream origin newbranch

1

這時就虧猜可以在這個分支下使用 git pull 推送支遠程的新分支上了

閱讀全文

與gitbranch命令相關的資料

熱點內容
雲伺服器遷移後 瀏覽:260
excel格式轉換pdf 瀏覽:987
登錄器一般存在哪個文件夾 瀏覽:535
中興光貓機器碼演算法 瀏覽:330
android響應時間測試 瀏覽:940
java編程思想第四版答案 瀏覽:888
如何對nbt編程 瀏覽:885
mscpdf 瀏覽:948
文件夾d盤突然0位元組可用 瀏覽:272
吃火腿腸的解壓場面 瀏覽:339
衛星鍋加密教程 瀏覽:792
php7的特性是什麼 瀏覽:469
編譯類高級語言源代碼運行過程 瀏覽:177
科普中國app怎麼分享 瀏覽:87
51單片機與32單片機比較 瀏覽:422
SQL加密存儲解密 瀏覽:507
電氣工程師把程序加密 瀏覽:797
解壓切東西動畫版 瀏覽:965
點到橢圓的距離演算法 瀏覽:388
新的編譯系統 瀏覽:533