一、本地新建分支推送到遠(yuǎn)程新分支
前言
工作學(xué)習(xí)中,我們經(jīng)常會(huì)有這么一個(gè)場(chǎng)景,需要自己搭建項(xiàng)目去實(shí)現(xiàn)一個(gè)系統(tǒng)或工具,但是不會(huì)讓你合并到主分支,而是讓你在遠(yuǎn)程倉(cāng)庫(kù)新建分支,將本地分支代碼推送過(guò)去。
步驟實(shí)現(xiàn)
假設(shè)本地已經(jīng)有了一個(gè)項(xiàng)目,打開(kāi)文件夾,git bash
1、在本地項(xiàng)目路徑創(chuàng)建一個(gè)空
的git倉(cāng)庫(kù),這是本地倉(cāng)庫(kù)。
git init
2、把當(dāng)前文件夾所有文件提交到暫存區(qū)
(緩存區(qū))
git add .
3、將暫存區(qū)所有文件提交到本地倉(cāng)庫(kù)并帶有提交日志
git commit -m "提交信息或日志記錄寫(xiě)這里"
4、新建本地分支并切換
命令 | 說(shuō)明 |
---|---|
git branch 分支 | 創(chuàng)建分支 |
git checkout 分支 | 切換分支 |
git checkout -b 分支 | 創(chuàng)建分支并切換 |
git checkout -b dev
5、本地關(guān)聯(lián)遠(yuǎn)程倉(cāng)庫(kù)
git remote add origin 遠(yuǎn)程倉(cāng)庫(kù)地址
6、本地直接推送到遠(yuǎn)程倉(cāng)庫(kù)的一個(gè)新分支(相當(dāng)于推送的同時(shí)在遠(yuǎn)程倉(cāng)庫(kù)創(chuàng)建了一個(gè)新分支
)
git push origin dev:davon // <本地新建分支名,或是初始master>:<遠(yuǎn)程倉(cāng)庫(kù)的新分支名>
7、到上一步已經(jīng)完成了代碼提交,此時(shí)本地分支實(shí)際并沒(méi)有與遠(yuǎn)程分支建立聯(lián)系
,需要這一步操作,以后就可以直接提交代碼了
git push --set-upstream origin dev:davon
接下來(lái)給予一些命令用于查詢(xún)
該命令會(huì)列出您當(dāng)前本地的所有分支,并且顯示每個(gè)分支與它所跟蹤的遠(yuǎn)程分支之間的關(guān)系。如果某個(gè)本地分支沒(méi)有跟蹤任何遠(yuǎn)程分支
,那么它的遠(yuǎn)程分支列會(huì)是空的。(如果沒(méi)有執(zhí)行上面的第七步就會(huì)顯示空)
git branch -vv
git branch -vv <branch-name> // 查詢(xún)指定分支
刪除遠(yuǎn)程倉(cāng)庫(kù)中的某個(gè)分支
git push <remote> :<branch>
其中,remote
是遠(yuǎn)程倉(cāng)庫(kù)的名稱(chēng), branch
是要?jiǎng)h除的分支名稱(chēng)??梢允÷?remote
參數(shù),如果省略,則默認(rèn)使用遠(yuǎn)程倉(cāng)庫(kù)的 origin
作為遠(yuǎn)程倉(cāng)庫(kù)。
注意,兩點(diǎn)之間的空格
是必須
的,它表示將一個(gè)空的“對(duì)象”推送到遠(yuǎn)程分支,這樣就會(huì)刪除遠(yuǎn)程分支。
例如,如果要從遠(yuǎn)程倉(cāng)庫(kù) origin 中刪除名為 feature-branch
的分支,則可以使用以下命令:
git push origin :feature-branch
執(zhí)行此命令后,遠(yuǎn)程倉(cāng)庫(kù) origin 中的 feature-branch
分支將被刪除。請(qǐng)注意:
此命令會(huì)直接刪除遠(yuǎn)程分支,因此在執(zhí)行此命令之前,請(qǐng)確保你了解正在執(zhí)行的操作,并確保你不會(huì)錯(cuò)誤刪除任何分支。
刪除遠(yuǎn)程倉(cāng)庫(kù)分支也可以用下面命令:
git push origin --delete feature-branch
執(zhí)行此命令后,遠(yuǎn)程倉(cāng)庫(kù) origin 中的 feature-branch 分支將被刪除。請(qǐng)注意,此命令不會(huì)刪除本地倉(cāng)庫(kù)中的分支,如果需要?jiǎng)h除本地分支,需要執(zhí)行下面命令:
git branch -d <branch>
本地分支與遠(yuǎn)程分支關(guān)聯(lián),并推送到遠(yuǎn)程倉(cāng)庫(kù)(遠(yuǎn)程已經(jīng)存在一個(gè)分支)
git push --set-upstream origin master
其他命令:Git本地分支和遠(yuǎn)程分支關(guān)聯(lián)
二、合并分支
前言
工作中會(huì)要合并分支,比如將遠(yuǎn)程分支pinia
合并到當(dāng)前分支davon
中,在這個(gè)過(guò)程中,我們需要始終保持本地?fù)碛泻瓦h(yuǎn)程分支一樣的結(jié)構(gòu)
,也就是說(shuō)本地也得有pinia分支才行,我們首先來(lái)看命令:
1、切換到 davon
分支
git checkout davon
2、從遠(yuǎn)程倉(cāng)庫(kù) origin
更新本地 pinia
分支
git fetch origin pinia
3、將 pinia
分支合并到當(dāng)前分支 davon
上
git merge origin/pinia
如果你想在合并過(guò)程中禁用 Fast-forward
模式,可以添加 --no-ff
選項(xiàng)文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-518387.html
git merge --no-ff origin/pinia
這樣,會(huì)產(chǎn)生一次新的提交來(lái)標(biāo)記
分支間的合并。
如果在合并過(guò)程中發(fā)生沖突,你需要解決沖突后再提交合并結(jié)果。
如果你使用vscode來(lái)提交代碼,同樣需要更新pinia的本地代碼,也就是需要去遠(yuǎn)程拉取一次,再切換回davon分支去合并分支,提交推送就可以完成?;蛘吣阍诒镜匦陆ㄒ粋€(gè)分支叫pinia,拉取代碼,然后合并,原理是一樣的文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-518387.html
到了這里,關(guān)于git系列----本地新建分支推送到遠(yuǎn)程新分支以及合并分支的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!