github 分支管理
最近有同事問我git 如何管理分支,這里我以github為例,做下工作中常用的分支管理操作。
分支管理
作用:假設你准備開發一個新功能,但需要兩周才能完成,第一周寫了60%,如果提交,由於代碼還沒寫完,不完整的代碼庫會導致別人不能干活,如果等代碼全部寫完在一次提交,又會存在丟失每天進度的風險。有了分支,可以避免上述問題,創建一個屬於自己的分支,別人看不到,還繼續在原來的分支上正常工作,而我們在自己的分支上干活,想提交就提交,直到開發完畢后,在一次性合並到原來的分支上,這樣,即安全又不影響別人工作。
特點:Git分支是與眾不同的,無論創建、切換、和刪除分支,Git在非常短的時間內就能完成,無論版本庫是1個文件還是1萬個文件。
master主分支:在版本回退中,每次提交,Git都把它們串成一條時間線,在git里,這個分支叫主分支,即master分支,HEAD嚴格來說不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是當前分支。每次提交,master分支都會向前移動一步,這樣,隨着不斷提交,master分支的線也越來越長。
git常用命令

實際應用
實際使用過程中本人使用pycharm git插件進行操作,操作如下:
刪除遠程分支

可以在github 上看到只有一個分支了
創建分支

如圖,創建並切換分支

查看當前分支

每次開發前要pull 一下最新代碼,防止代碼提交時沖突

說明當前是最新代碼

現在開始編寫代碼,並提交。
提交前記得也要先pull 一下。
如圖,添加一行注釋

本地運行沒問題后 可以進行 push
push 本地 dev 到遠程 dev

如圖提示push 成功!

可以在 github 查看變化

接下來可以將dev merge 到 mester
1、可以直接在github 上進行操作

查看代碼變動,並 create pull request

如圖,提示沒有沖突可以合並分支

點擊 merge pull request (合並請求) 即可完成dev 到 master的合並。
2、也可以直接通過pycharm 或是命令執行合並
通過pycharm 首先切換分支到本地master
切換前的代碼


切換后的代碼,沒有最新代碼

merge changes

因為我們Dev的 已經提交的遠程dev 所以這里 選擇遠程dev

如圖提示 merge 1 item

這里可以看到 master 分支上也有了最新的代碼

最后選擇 push


最后可以看到 push成功

最后去github 查看不會再有 合並分支的請求了

查看遠程也能看到 最新的提交記錄了

此時 就可以刪除 dev 分支了,后續可以 再次新建分支進行開發任務的開發
