3
我們的團隊即將從SVN切換到Git。我們都使用IntelliJ Idea作爲IDE。InteliJ:在主分支上強制只讀
鑑於目前許多人都在SVN主幹上工作,我擔心儘管經過培訓和許多警告,許多人有時會忘記分支並在主分支中編輯(I知道我已經穿上它了!)。
我意識到有辦法保護主人,甚至避免不允許直接提交,但是有沒有辦法配置IntelliJ以某種方式警告用戶,否則不允許他們在主分支中進行編輯?
我們的團隊即將從SVN切換到Git。我們都使用IntelliJ Idea作爲IDE。InteliJ:在主分支上強制只讀
鑑於目前許多人都在SVN主幹上工作,我擔心儘管經過培訓和許多警告,許多人有時會忘記分支並在主分支中編輯(I知道我已經穿上它了!)。
我意識到有辦法保護主人,甚至避免不允許直接提交,但是有沒有辦法配置IntelliJ以某種方式警告用戶,否則不允許他們在主分支中進行編輯?
據我所知,本地分支master
與任何其他本地分支沒有區別,至少從Git的角度來看,可能是IntelliJ的Git插件。我認爲保護master
分支免於直接提交是絕對需要在存儲庫方面的東西。
如果你確實想在本地封鎖,你可以use a pre-commit hook。
話雖這麼說,如果開發者不小心開始在master
工作本地並做了幾次提交,有解決的事情相當簡單的方法:
git checkout master
# work, add files
git commit -m 'did some work'
git checkout -b feature_branch # create feature branch from local master
git checkout master # return to local master branch
git reset --hard HEAD~N # replace N with number commits made to master
的三個直接Git命令上面創建一個新的分支來自master
,其中包含開發人員已經完成的相同工作。然後,我們返回到master
並刪除開發人員已提交的提交。現在開發者擁有他原本想要擁有的功能分支,並且master
已恢復到其初始狀態。
這個'pre-commit'鉤子只能在終端上運行嗎? – Deep
@深不錯,這是我的理解。因此,你仍然需要配置Bitbucket(GitHub等)來阻止直接提交,因爲有人可能意外地/意外地禁用了掛鉤。 –
是的,可以在'remote'完成我認爲沒有選擇在我們使用的編輯器上進行。 – Deep