轉:https://blog.csdn.net/xiaobai__lee/article/details/81081128
https://blog.csdn.net/geng31/article/details/78585557/
1、git簡介
git是目前流行的分布式版本管理系統。它擁有兩套版本庫,本地庫和遠程庫,在不進行合並和刪除之類的操作時這兩套版本庫互不影響。也因此其近乎所有的操作都是本地執行,所以在斷網的情況下任然可以提交代碼,切換分支。git又使用了SHA-1哈希算法確保了在文件傳輸時變得不完整、磁盤損壞導致數據丟失時能立即察覺到。
git的基本工作流程:
- git clone:將遠程的Master分支代碼克隆到本地倉庫
- git checkout:切出分支出來開發
- git add:將文件加入庫跟蹤區
- git commit:將庫跟蹤區改變的代碼提交到本地代碼庫中
- git push: 將本地倉庫中的代碼提交到遠程倉庫
git 分支
- 主分支
- master分支:存放隨時可供生產環境中的部署的代碼
- develop分支:存放當前最新開發成果的分支,當代碼足夠穩定時可以合並到master分支上去。
- 輔助分支
- feature分支:開發新功能使用,最終合並到develop分支或拋棄掉
- release分支:做小的缺陷修正、准備發布版本所需的各項說明信息
- hotfix分支:代碼的緊急修復工作
2、git在IntelliJ IDEA下的使用
2.1、IntelliJ IDEA下配置git
- 本地安裝好git,並配置合理的SSH key,具體看這里
- IntelliJ IDEA->Performance->Version Control->git 將自己安裝git的可執行文件路徑填入Path to Git executable,點擊 Test測試一下
2.2、git clone
- VCS->Git->Clone
- 輸入你的遠程倉庫地址,點擊測試一下地址是否正確
2.3、git checkout
- 在IntelliJ IDEA右下角有一個git的分支管理,點擊。選擇自己需要的分支,checkout出來
- checkout出來,會在底端顯示當前的分支。其中1顯示的為本地倉庫中的版本,2為遠程倉庫中的版本
- 點擊IDE的右上角的向下箭頭的VCS,將分支的變更同步到本地
2.4、git diff
2.5、git log
2.6、git commit
- 默認導入的工程已經git add加入庫跟蹤區了
- 隨便修改一下pom.xml文件,其修改的文件會顯示在Version Control中的local changes下
- 點擊IDE右上角的向上箭頭的VCS, git commit, 寫上日志提交到本地代碼庫中
2.7、git push
- VCS->Git->Push 將本地代碼提交到遠程倉庫
2.8、在Idea命令行使用git
mac下同時按alt+F12,進入idea命令行
常見的命令:
1、clone項目
git clone xxxxxx
2、查詢遠程倉庫有哪些分支
git branch -r
git branch -a
3、拉遠程倉庫的分支
git checkout -b 本地分支名 遠程分支名
如:git checkout -b monitor origin/monitor
4、查看本地有哪些分支
git branch
5、切換分支並和遠程的分支關聯
git checkout -b xxx -t origin/xxx
6、切換本地的分支
git checkout 本地分支名
7、拉最新服務器代碼
git pull
8、檢查項目狀態
git status git status //未add的文件為紅色 已經add的文件為綠色
9、將修改內容提交到緩沖區
git add . .為將全部修改提交
git add src/test/java/com/alihealth/drugsupervision/basicservice/ZookeeperTestCase.java 將具體的文件提交
git checkout -- xxx,xxxx 取消本地工作區的修改,把紅色的修改取消了。
10、提交更新到本地庫
git commit -am "備注"
11、提交本地的修改到遠程
git push 遠程別名 本地分支名
如:git push zlj_origin drug-supervision-monitor
合並分支到當前分支,首先切換到需要被合並的分支 git checkout xxx, 再合並 git merge yyyy
12、master和本地合並
1.git checkout origin/master
2.git pull origin/master
3.git checkout trace-code-monitor 切換到在merge的分支
4.git merge master //master 與分支合並