IDEA版
環境準備
1.Git官網下載安裝git https://git-scm.com/download/win
2.idea中配置git路徑
setting→version control → git
3.在git倉庫(github、碼云、gitlab等)上創建一個項目,我這里以gitlab為例
4.idea從gitlab上檢出項目
輸入gitlab的賬戶進行登錄
5.注意選擇no因為還沒上傳初始化項目
6.idea在git_test目錄下創建springboot項目
7.右鍵項目,添加所有修改到暫存區
8.提交改變到本地倉庫
9.右鍵項目,push到遠程gitlab倉庫
10.到gitlab上發現已經推送到遠程倉庫
11.直接在遠程master做出更改然后拉取更新到本地
12.代碼出現沖突怎么解決?
- 首先同事提交修改README.md文件到遠程主分支
-
然后我在本地也修改README.md文件
image.png -
提交修改到本地倉庫,注意提交之前應先把代碼添加到暫存區,因為這里idea自動幫我加入了暫存區,所以就不用添加了,可以項目樹是紅色代表沒添加暫存區,藍色代表添加暫存區未提交,白色代表已提交到本地倉庫,黃色是.gitignore規定不用提交的文件。
image.png -
拉取遠程倉庫代碼到本地倉庫合并,因為本地也修改并提交了README.md文件,所以沖突就產生了。
image.png
image.png
image.png
- 在本地倉庫解決沖突合并之后,就可以推送push到遠程分支了。
13.在本地創建分支并推送到遠程gitlab倉庫
-
右鍵項目選擇分支
image.png -
新建分支
image.png -
新分支為開發分支 dev
image.png -
看右下角,當前分支已經切換到dev分支了
image.png -
將dev分支 推送到gitlab
image.png
image.png -
gitlab上刷新可以看到推送dev分支成功
image.png
14.如何切換分支?
- 如上圖可以看到Local Branches是本地分支, Remote Branches是遠程gitlab上的分支。
15.如何合并dev分支代碼到master分支?
-
首先在遠程dev分支修改代碼
image.png -
在本地倉庫master分支拉取代碼,選擇從dev分支拉取并進行合并
image.png
-注意:如果出現沖突,解決后推送到遠程倉庫即可。
16.如何刪除用不到的分支?
假如dev分支是為了修改某個bug創建的分支,bug修改完成,合并到主分支之后,dev沒用了,就可以進行分支刪除
-
如下,刪除本地和遠程的dev分支
image.png
image.png
17.如何查看提交歷史?
eclipse版
1.在gitlab上創建一個新的項目git_test_eclipse
2.在eclipse上git clone代碼
-
因為是在gitlab創建的空項目,所以先在其他路徑創建一個springboot項目
image.png -
復制新創建項目文件夾下的內容到git clone下來的目錄里。
image.png -
導入maven項目,即git clone的項目
image.png
3.eclipse上進行首次提交,打開git操作頁面
-
添加修改到暫存區
image.png -
添加到暫存區后,可提交到本地git倉庫,右鍵→Team→commit
image.png
image.png -
push推送到遠程倉庫,右鍵→Team→remote→push
image.png -
注意:選擇下一步做如下選擇,提交主分支
image.png -
再下一步 → finish
image.png -
查看遠程倉庫gitlab發現已被提交到遠程
image.png
4.eclipse如何拉取遠程倉庫的更新到本地?
-
先在gitlab更新一下README.md文件,模擬同事修改提交后,我本地進行拉取更新。
image.png -
直接右鍵→Team→Pull拉取并合并
image.png
image.png
5.如何解決沖突?
-
首先在遠程倉庫修改README.md文件
image.png -
其次在本地修改README.md并提交到本地倉庫
image.png
-
然后進行拉取遠程合并右鍵→Team→Pull之后沖突就產生了
image.png
image.png -
然后右鍵→Team→add to inde添加到暫存區,之后就可以commit提交本地,romote→push推送遠程。
image.png
image.png
image.png
6.創建新的分支dev并推送到遠程倉庫
-
push推送dev分支到遠程倉庫
image.png
image.png
image.png
7.如何切換分支
8.如何把dev分支合并到主分支?
- 首先切換dev分支,把遠程dev分支的pull到本地
- 切換到主分支
-
然后點擊右鍵→Team→Merge
image.png -
選擇要合并到主分支的分支,這里選擇本地Local的dev分支
image.png
image.png -
解決沖突
image.png
9.如何刪除用不到的分支dev?
- 切換到主分支master
-
按照如下圖中點擊刪除分支
image.png
image.png
10.如何查看提交歷史?
Terminal命令行版
講解Terminal使用Git我還是以上面講idea的git_test工程為例。
1.克隆git_test工程到本地
- 直接在命令行cmd或者powerShell都可以,我更喜歡在idea的Terminal命令行操作
-
打開idea的命令行Terminal,切換到E盤
image.png - 克隆項目到本地
git clone https://git.lug.ustc.edu.cn/kangqing/git_test.git
-
idea打開e:/git_test項目
image.png
2.如何提交代碼?
- 我們新添加一個文件,yunqing.md
-
選擇記住,以后新建文件都加到git
image.png
- 查看更改的信息
git status
- 添加所有修改文件到暫存區(注意所有文件是最后的點),也可指定添加具體文件到暫存區
git add .
- 提交暫存區中的更改到本地倉庫,并添加提交備注信息
git commit -m '第一次提交'
- 推送到遠程gitlab倉庫
git push
-
在遠程gitlab上可以看到推送成功
image.png
3.如何拉取遠程倉庫的代碼?
-
在遠程上修改yunqing.md文件,模擬同事提交推送的修改
image.png - 本地直接git pull拉取并合并代碼
git pull
4.如何解決沖突?
-
在本地修改yunqing.md并提交本地倉庫
image.png
注意上圖中并沒有提交暫存區就提交成功了,因為提交的時候加了-a,就代表先提交暫存區
git commit -am '提交本地修改制造沖突1111'
-
在遠程修改yunqing.md文件
image.png -
git pull拉取合并代碼,出現沖突
image.png -
該刪的刪,該改的改
image.png 解決沖突之后提交本地倉庫,然后推送到遠程gitlab
git commit -am '沖突解決提交本地倉庫'
git push
5.如何新建分支?
git branch dev
6.查看分支?
git branch -a
7.如何切換分支?
git checkout master
8.如何創建并切換分支?創建并切換到test分支
git checkout -b test
9.如何推送test分支到遠程gitlab?
- 首先切換到test分支
- 執行推送
git push
- 發現提示推送分支應該執行的語句,按照提示的執行
git push --set-upstream origin test
10.如何刪除分支?例如刪除dev分支
git branch -d dev
11.如何合并分支?例如為了修改一個緊急bug創建的test分支,修改內容后要合并到主分支。
-
切換到test分支修改
image.png - 提交
git commit -am 'test分支上修改一個bug'
- 切換回主分支
git checkout master
- 合并test分支到主分支
git merge test
12.合并分支的之后遇到沖突怎么辦?
- 切換到test分支
git checkout test
- 修改yunqing.md文件
- 提交到本地倉庫
git commit -am 'test分支上作了修改,制造沖突1111'
- 切換回主分支
git checkout master
- 在主分支上更改yunqing.md制造沖突222222
- 提交到本地倉庫
git commit -am '在主分支上更改yunqing.md制造沖突222222'
- 合并test到主分支
git merge test
- 直接把有沖突的地方改正然后提交。
git commit -am '合并解決沖突'
- 最后推送到遠程倉庫
git push
13.如何查看提交歷史?
git log
注意,git log命令查看提交歷史沒有圖形化界面看起來看舒服,可直接按下英文狀態下q退出
- 或者直接gitk調出git默認提交歷史圖形界面
gitk
更多git相關命令行教程請看http://iissnan.com/progit/