工作中 git 開發(fā)使用流程 (命令版描述)
開發(fā)一個新功能流程: (master 線上分支, dev 測試分支)
git clone 注釋 1
git checkout -b product 新建一個product 分支并且切換到 product 分支 git add ./ 提交開發(fā)需求到暫存區(qū)域
git commit -m '開發(fā)商品模塊'
git push origin pengyu
git co test //切換到 test 分支
git merge pengyu //帶你開發(fā)的業(yè)務代碼合并到 test 分支
git push origin test //帶你開發(fā)的業(yè)務代碼推送到遠端的 test 分支
Reset 與 Rebase,Pull 與 Fetch 的區(qū)別
git reset 不修改 commit 相關的東西, 只會去修改.git 目錄下的東西 。
git rebase 會試圖修改你已經(jīng) commit 的東西, 比如覆蓋 commit 的歷史等, 但是不能 使用 rebase 來修改已經(jīng) push 過的內容, 容易出現(xiàn)兼容性問題 。rebase 還可以來解決 內容的沖突, 解決兩個人修改了同一份內容, 然后失敗的問題 。
git pull pull=fetch merge,
使用 git fetch 是取回遠端更新, 不會對本地執(zhí)行 merge 操作, 不會去動你的本地的 內容 。 pull 會更新你本地代碼到服務器上對應分支的最新版本
git merge 和 git rebase 的區(qū)別
git merge 把本地代碼和已經(jīng)取得的遠程倉庫代碼合并 。
git rebase 是復位基底的意思, gitmerge 會生成一個新的節(jié)點, 之前的提交會分開顯 示, 而 rebase 操作不會生成新的操作, 將兩個分支融合成一個線性的提交。
git 如何解決代碼沖突
第一種:
git stash
git pull
git stash pop
這個操作就是把自己修改的代碼隱藏, 然后把遠程倉庫的代碼拉下來, 然后把自己隱 藏的修改的代碼釋放出來, 讓 gie 自動合并 。
如果要代碼庫的文件完全覆蓋本地版本。
git reset –hard
git pull
第二種: 通過開發(fā)工具 idea 進行 merge 代碼合并
項目開發(fā)時 git 分支情況
主干分支 master: 主要負責管理正在運行的生產(chǎn)環(huán)境代碼 。永遠保持與正在運行的生 產(chǎn)環(huán)境完全一致 。
開發(fā)分支 develop: 主要負責管理正在開發(fā)過程中的代碼 。一般情況下應該是最新的 代碼。
bug 修理分支 hotfix: 要負責管理生產(chǎn)環(huán)境下出現(xiàn)的緊急修復的代碼 。 從主干分支分 出, 修理完畢并測試上線后, 并回主干分支 。并回后, 視情況可以刪除該分支 。
發(fā)布版本分支 release: 較大的版本上線前, 會從開發(fā)分支中分出發(fā)布版本分支, 進行 最后階段的集成測試 。該版本上線后, 會合并到主干分支 。生產(chǎn)環(huán)境運行一段階段較 穩(wěn)定后可以視情況刪除 。
功能分支 feature: 為了不影響較短周期的開發(fā)工作, 一般把中長期開發(fā)模塊, 會從開 發(fā)分支中獨立出來 。 開發(fā)完成后會合并到開發(fā)分支 。
版權聲明:本文內容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權/違法違規(guī)的內容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。