git分支的創建、刪除、切換、合並


1. 先看一下git的命令:

查看本地分支 git branch ;

查看遠程分支 git branch -r ;

切換分支 git checkout -b agrochemical origin/agrochemical;

查看所屬分支 git branch -a;

回退命令: $ git reset --hard HEAD^;

回退到上個版本 $ git reset --hard HEAD~3;

回退到前3次提交之前,以此類推,;

回退到n次提交之前 $ git reset --hard commit_id;

退到/進到 指定commit的sha碼 $ git checkout commit ID;

查看提交記錄:$ git log;

強推到遠程:$ git push origin HEAD --force

 

2.git之刪除遠程倉庫文件,使用 git rm 命令即可,有兩種選擇:

一種是 git rm --cached "文件路徑",不刪除物理文件,僅將該文件從緩存中刪除;一種是 git rm --f "文件路徑",不僅將該文件從緩存中刪除,還會將物理文件刪除(不會回收到垃圾桶)。

假如你有文件不小心commit到了服務器那么你想要刪除它,可以使用:git rm -- cached "路徑+文件名" ;

git commit -m "delete file" ;

git push;git rm -r "路徑+文件名" ;

git commit -m "delete file";

git push

 

3.接下來就是正事了,你在工作中一定用的到:

一、分支創建與切換1、創建新的分支並切換到該分支上進行提交首先我們先從最簡單的來,下方演示了git分支的創建和切換的最基本的操作,具體步驟如下:

1》git branch <分支名>: 首先使用 git branch bugfix01,在當前分支也就是master分支上創建了一個名為bugfix01的新分支。

2》git checkout <分支名> : 然后使用 git checkout bugfix01 命令來切換到我們新創建的bugfix01的新分支上。

3》git commit : 最后使用 git commit 命令在新的分支上進行代碼提交。

4、創建並切換分支

1》git checkout -b <分支名>: 首先使用 git checkout -b bugfix02 命令在當前所在分支bugfix01上創建一個新的分支並且切換到新創建的bugfix02上。

2》git commit : 然后就可以使用 git commit 在新的分支 bugfix02 上進行提交了。

 

二、分支的合並與刪除以及沖突解決

1、分支的合並-merge首先使用 git checkout master命令切換到master分支上。

然后使用 git merge bugfix01 命令將 bugfix01 分支的修改合入到master分支上,在合入成功后會將合入后的新文件進行提交,此刻會有一個新的commit號,也就對應着下方的C9。

然后使用 git merge bugfix02,在將 bugfix02上的修改合入到master分支上,merge 對應的commit號為C10。最后還是可以在master分支上進行正常提交的。

 

2、分支的刪除上面可以看到,雖然 bugfix01 和 bugfix02 的分支已經被合入到master分支上了,但是這兩個分支還是存在的。

如果我們不需要這兩個分支指針了,可以將兩個分支指針進行刪除:首先使用 git branch -d bugfix01對分支 bugfix01 進行刪除。

然后使用 git branch -d bugfix02 對分支 bugfix02 進行刪除。

操作上來看對分支的刪除只是刪除的指向該commit號的指針,並不會刪除其相關的提交號, 在日志中仍然可以找到之前的commit記錄,也仍然可以在該commit上創建新的分支。

如果你想刪除遠端的分支的話,那么得使用 $ git push origin --delete <分支名> 了。

# 克隆
git clone 倉庫地址
git clone -b 分支名 倉庫地址
# 查看分支 這里是看的本地的分支 $ git branch
* master # 接着是查看遠程分支 $ git branch -a * master remotes/origin/HEAD -> origin/master remotes/origin/hz remotes/origin/master remotes/origin/new-sc remotes/origin/static remotes/origin/static_jcy remotes/origin/static_xy remotes/origin/xtf remotes/origin/yx_dev 【 方法一 # git branch <分支名>: 首先使用 git branch jxb_dev,在當前分支也就是master分支上創建了一個名為jxb_dev的新分支。 $ git branch jxb_dev # 查看分支 這里是看的本地的分支 $ git branch jxb_dev * master # git checkout <分支名> : 然后使用 git checkout jxb_dev 命令來切換到我們新創建的jxb_dev的新分支上。 $ git checkout jxb_dev # git commit : 最后使用 git commit 命令在新的分支上進行代碼提交。 $ git commit

  # 如果要將合並的master主分支代碼推送到遠程
  $ git push

】


【方法二
# git checkout -b <分支名>: 首先使用 git checkout -b jxb_dev02 命令在當前所在分支jxb_dev上創建一個新的分支並且切換到新創建的jxb_dev02上。
$ git checkout -b jxb_dev02

# git commit : 然后就可以使用 git commit 在新的分支 jxb_dev02 上進行提交了。
$ git commit
】


【分支的合並與刪除以及沖突解決】
# 分支的合並-merge首先使用 git checkout master命令切換到master分支上
$ git checkout master

# 然后使用 git merge jxb_dev 命令將 jxb_dev 分支的修改合入到master分支上,在合入成功后會將合入后的新文件進行提交,此刻會有一個新的commit號,也就對應着下方的C9。
$ git merge jxb_dev

# 然后使用 git merge jxb_dev02,在將 jxb_dev02上的修改合入到master分支上,merge 對應的commit號為C10。
$ git merge jxb_dev02

# 最后還是可以在master分支上進行正常提交的。
$ git commit

# 【刪除本地分支】git branch -d jxb_dev對分支 jxb_dev 進行刪除
$ git branch -d jxb_dev
$ git branch -d jxb_dev02

# 【提交和刪除遠程分支】
$ git push origin test:master         // 提交本地test分支作為遠程的master分支 //好像只寫這一句,遠程的github就會自動創建一個test分支
$ git push origin test:test              // 提交本地test分支作為遠程的test分支

# 如果想刪除遠程的分支呢?類似於上面,如果:左邊的分支為空,那么將刪除:右邊的遠程的分支。
$ git push origin :test              // 剛提交到遠程的test將被刪除,但是本地還會保存的,不用擔心

 參考:https://www.cnblogs.com/ydxblog/p/7988317.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM