摘要:分支的創(chuàng)建合并與刪除創(chuàng)建分支與切換分支或者命令加上參數(shù)表示創(chuàng)建并切換。或者后面不跟分支名時指列出所有分支,當(dāng)前分支前面加。刪除分支刪除本地分支,不能在當(dāng)前分支執(zhí)行刪除當(dāng)前分支的操作。
分支的創(chuàng)建、合并與刪除 創(chuàng)建分支與切換分支
$ git branch develop$ git checkout develop
或者
$ git checkout -b develop
git checkout命令加上-b參數(shù)表示創(chuàng)建并切換。git branch或者(git branch -a)后面不跟分支名時指列出所有分支,當(dāng)前分支前面加*。
$ git branch合并分支
git merge命令用于合并指定分支到當(dāng)前分支,如果當(dāng)前分支是master分支,git merge develop指將develop分支合并到master分支。
$ git merge develop刪除分支
刪除本地develop分支,不能在當(dāng)前分支執(zhí)行刪除當(dāng)前分支的操作。
$ git branch -d develop解決沖突
沖突可以說是兩個分支的沖突,產(chǎn)生的原因是兩個已經(jīng)提交的分支的相同文件相同位置的的不同操作進(jìn)行了合并
多人協(xié)作開發(fā)的時候,如果出現(xiàn)了你沒有改過的文件跟你沖突了,一定要去找到當(dāng)事者,說清楚是如何沖突,然后協(xié)商解決,修文件,確保沒問題后在重新add、commit、push。
一般代碼編輯器都集成了git,如WebStrom、VsCode,可以很直觀的查看沖突代碼,并進(jìn)行代碼合并。
Rebase操作 合并多個commit為一個完整commit$ git rebase -i [startpoint] [endpoint]
其中-i的意思是--interactive,即彈出交互式的界面讓用戶編輯完成合并操作,[startpoint] [endpoint]則指定了一個編輯區(qū)間,如果不指定[endpoint],則該區(qū)間的終點默認(rèn)是當(dāng)前分支HEAD所指向的commit(注:該區(qū)間指定的是一個前開后閉的區(qū)間)。如果不指定分支默認(rèn)操作當(dāng)前分支
將當(dāng)前分支的一段commit粘貼到另一個分支上$ git rebase [startpoint] [endpoint] --onto [branchName]rebase的優(yōu)點和缺點
優(yōu)點
rebase最大的好處是你的項目歷史會非常整潔
rebase 導(dǎo)致最后的項目歷史呈現(xiàn)出完美的線性——你可以從項目終點到起點瀏覽而不需要任何的 fork。這讓你更容易使用 git log、git bisect 和 gitk 來查看項目歷史
缺點
安全性,如果你違反了 rebase 黃金法則(絕不要在公共的分支上使用它),重寫項目歷史可能會給你的協(xié)作工作流帶來災(zāi)難性的影響
可跟蹤性,rebase 不會有合并提交中附帶的信息——你看不到 feature 分支中并入了上游的哪些更改
修復(fù)沖突git rebase --abort會回到rebase操作之前的狀態(tài),之前的提交的不會丟棄。
$ git rebase --abort
git rebase --skip則會將引起沖突的commits丟棄掉。
$ git rebase --skip
git rebase --continue用于修復(fù)沖突,提示開發(fā)者,一步一步地有沒有解決沖突,fix conflicts and then run "git rebase --continue"。
$ git rebase --continue遠(yuǎn)程協(xié)作
本地倉庫和遠(yuǎn)程倉庫,Git自動把本地的master分支和遠(yuǎn)程的master分支對應(yīng)起來了,并且,遠(yuǎn)程倉庫的默認(rèn)名稱是origin。
查看遠(yuǎn)程庫(git remote)
$ git remote
查看遠(yuǎn)程庫詳細(xì)信息
$ git remote -v
往遠(yuǎn)程倉庫推送代碼,須選擇本地分支,下面指往develop分支推送代碼
$ git remote origin develop
只有需要協(xié)同開發(fā)的才需要往遠(yuǎn)程倉庫推送代碼
master分支是主分支,因此要時刻與遠(yuǎn)程同步;
dev分支是開發(fā)分支,團(tuán)隊所有成員都需要在上面工作,所以也需要與遠(yuǎn)程同步;
bug分支只用于在本地修復(fù)bug,不用推送到遠(yuǎn)程;
feature分支是否推到遠(yuǎn)程,取決于你是否和你的小伙伴合作在上面開發(fā)。
標(biāo)簽管理創(chuàng)建標(biāo)簽 (git tag
$ git tag v1.0
查看標(biāo)簽(git tag)
$ git tag
默認(rèn)標(biāo)簽是打在當(dāng)前分支最新提交的commit上的,如果要打在歷史的commit上,找到歷史提交的commit id(git tag v0.9
git tag v0.9 f52c633
查看標(biāo)簽信息(git show
$ git show v0.9
創(chuàng)建帶有說明的標(biāo)簽,用-a指定標(biāo)簽名,-m指定說明文字
$ git tag -a v0.1 -m "version 0.1 released" 1094adb
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/102303.html
摘要:簡介是目前世界上最先進(jìn)的分布式版本控制系統(tǒng)沒有之一。查看所有分支的版本操作記錄。工作區(qū)直接刪除文件,提交到版本庫。與他人協(xié)作涉及管理遠(yuǎn)程倉庫以及根據(jù)需要推送或拉取數(shù)據(jù)??寺∵h(yuǎn)程倉庫支持多種協(xié)議,默認(rèn)使用,也可以使用等其他協(xié)議。 Git簡介 Git是目前世界上最先進(jìn)的分布式版本控制系統(tǒng)(沒有之一)。Linux之父Linux用C語言寫了Git分布式版本控制系統(tǒng)。 分布式版本控制系統(tǒng)與集中式...
摘要:這允許開發(fā)人員以邏輯區(qū)間建立并提交變動,以防止當(dāng)部分提交成功時出現(xiàn)的問題納入版本控管的元數(shù)據(jù)每一個文件與目錄都附有一組屬性關(guān)鍵字并和屬性值相關(guān)聯(lián)。 代碼管理 Git...
摘要:核心子進(jìn)程運行控制。由應(yīng)用來看,關(guān)鍵是錄制屏幕和錄制攝像頭,以及用快捷鍵控制在這兩者之間切換。限制條件是超過三個月快捷鍵失效。實現(xiàn)分兩步安裝時在注冊表特定位置,假如是,寫入目錄相關(guān)信息。在程序運行時,檢測當(dāng)前目錄是否存在于注冊表下。 錄制項目終于做完,不用總是提醒自己抓緊時間這樣來想問題了。在完成之后帶著一些滿足感,回頭看看哪些地方是需要改進(jìn)的,哪些地方又是有更好的替代方案,自己又有哪...
摘要:提交一個簡單文件首先,使用的客戶端將項目到本地假設(shè)將這個項目的目錄放在了中然后打開進(jìn)入目錄然后在目錄里面新建一個寫上然后這樣,就將文件加到本地的項目中。命令只是提交到本地倉庫,并沒有提交到遠(yuǎn)端。合并分支將的分支合并到當(dāng)前分支。 提交一個簡單文件 首先,使用GitHub的`windows客戶端將項目clone到本地假設(shè)將test這個項目的目錄放在了中C:xampphtdocsGithub...
閱讀 4393·2021-10-13 09:39
閱讀 510·2021-09-06 15:02
閱讀 3255·2019-08-30 15:53
閱讀 1067·2019-08-30 13:04
閱讀 2126·2019-08-30 11:27
閱讀 2039·2019-08-26 13:51
閱讀 2129·2019-08-26 11:33
閱讀 2927·2019-08-26 10:36