git下载安装、验证、企业实战单机、多人协作
此課程會劃分為10個小結進行講述
- 1 安裝和配置
- 2 創建倉庫
- 3 基本用法
- 4 三種狀態
- 5 標簽 tag
- 6 分支 branch
- 7 合并分支
- 8 遠程倉庫
- 9 如何多人遠程合作
git下載安裝驗證
一、下載、安裝、驗證
1、git官網:
https://git-scm.com/downloads
2、安裝及配置
2-1 一路下一步
2-2 驗證:在命令行輸入
2-3 配置git config --global(全局)、查看配置git config --list
git config --global user.name "用戶名" git config --global user.email "郵箱" git config --list碼云配置方案:
git config --global user.name "gb_90" git config --global user.email "13396492261@63.com" git config --listGitHub配置方案:
git config --global user.name "gb-heima" git config --global user.email "754263923@qq.com" git config --listidea terminal設置(關鍵步驟):
查看版本:
3、在idea中初始化倉庫 創建倉庫(2種本地創建和遠程拉取)
3-1 初始化倉庫
方式1:進入目錄git init
創建test1目錄,進入test1執行git init:
方式2:git init 目錄名
cd .. git init test2
查看初始化倉庫文件:
方式3,遠程拉取
git clone +遠程倉庫地址(例如:https://github.com/biaoyansu/15.x.git)
備注:遠程項目重命名
git clone +遠程倉庫地址 + 項目新的名稱
這樣就把遠程倉庫的名稱更新為test3了,內容不改變
查看目錄下的文件
windows:dir
linux:ll 或者ls -a 顯示所有文件包括隱藏
二、基本用法:
1、編碼設置:
提交信息編碼
輸出log輸出的編碼
查看設置的信息:
2、查看倉庫狀態: git status
創建gblfy目錄->>>j進入目錄->>>初始化git倉庫->>>查看倉庫狀態->>>未新增新文件
3、將所有修改添加到暫存區: git add .
創建gblfy目錄->>>j進入目錄->>>初始化git倉庫->>>查看倉庫狀態->>>新增gblfy.txt新文件->>>添加內容”gblfy文件第一次提交,添加內容”
4、提交版本: git commit -am “描述內容”
5、查看版本記錄: git log
6、穿越到制定的歷史節點 git checkout xxx
在gblfy.txt->>>添加”穿越歷史節點第一次測試”->>>將gblfy.txt添加至暫存區->>>將gblfy.txt從至暫存區提交到本地倉庫
查看提交的記錄:
穿越歷史節點前:
穿越歷史節點后:
備注:制作后悔藥流程(3步走)
git add . git commit -m”演示制作互毆會要流程3步走”
回到剛才編輯的版本 git checkout -
三種狀態
modified已修改
stated已暫存
commited已提交
1、git節點組成基本3個階段:
modify(修改文件)
git add . 添加到暫存區
git commit -am “描述提交內容”
案例:
在gblfy.txt 文件中+A
查看文件狀態:
git status
將文件添加至暫存區
將gblfy.txt(新增A)文件提交到本地倉庫:
3、查看版本記錄+修改的內容 git log -p
4、案例——對于一個文件修改多次:
例如:新建1.txt->>>>在1.txt中,添加了A ->>>>將A添加至暫存區:
touch 1.txt
git add 1.txt 在未提交之前,又添加了B
進行提交:
git commit -m”未提交之前,添加B倉庫只有A,沒有B”
這種情況,倉庫里git add 1.txt中只有內容A,原因是,添加B操作后,沒有將B添加到暫存區
之后,又一次添加了C 和D
針對一個文件修改多次這種情況,可以依次添加到暫存區,最后,一起提交:
總結:后悔藥要經過3個階段
modify(修改文件)
git add . 添加到暫存區
git commit -am “描述提交內容”
四、標簽tag
新建test目->>>初始化git本地倉庫->>>新建2.txt->>>將添加暫存區->>>并提交到本地倉庫:
1、查看版本信息前一條信息:git log --oneline --decorate
附注標簽:
git tag -a 標簽名 -m “備注”
2、列出所有標簽(git tag)
3、打標簽一般以最近的節點打標簽,如果選擇一個歷史節點打標簽操作如下:
案例演示1:
提交3次,第一次和第三次分別建立標簽v1.0 v2.0,這是情況是:
提交3次
有v1.0 v2.0 二個標簽
進行以下操作:
在v2.0節點上,回到第二次提交的節點(通過id號),建立標簽,之后,返回v2.0節點,查看所有標簽
有v1.0 v1.5 v2.0 三個標簽
在上面的第一個標簽的基礎上開始演示:
第一步:在test本地倉庫下2.txt文件中添加”開始寫第二版書籍”內容
第二步:將2.txt文件添加在暫存區,并提交到本地倉庫
第三步:在test本地倉庫下2.txt文件中添加”第二版書籍中期”內容
第四步:將2.txt文件添加在暫存區,并提交到本地倉庫:
第五步:在第三次提交的基礎上,建立標簽v2.0
查看所有標簽:
查看歷史記錄
第六步:回到9834743節點
回到9834743節點后,的文件顯示的內容
第七步:在9834743節點上新增標簽v1.5
第八步:回到v2.0節點
git checkout cd3bfe
回到v2.0節點后文件顯示的內容:
查看所有標簽:
案例完成!!!
簡單方法:
例如:
git tag -a v0.5 -m”歷史節點添加tag” 801be2a
案例演示2:
在上面基礎上,提交兩次:
列出所有tag:
4、查看某個標簽的詳細信息:git show 標簽名
5、回溯至標簽所在的提交:git checkout 標簽名
查看有哪些標簽和現在所在標簽:
五、分支branch(默認分支master)
就是在主分支master上面,分出的幾條分支。
例如:一本書,主線是主人公不是富有的,在主線上分出一條故事劇情發展線,主人公變更富有的。
分支名稱可以自定義,就好像在不同分支平行的事件,可以隨意切換,非常方便。
現在master節點有2個節點
查看有哪些節點?
提交之后查看節點:
創建分支:git branch 分支名:
在rich節點上,切換到master,回到開始分支出來的master節點:
在master上有4個節點,也就是4個版本:
顯示所有歷史記錄:git log --all
圖示全部歷史記錄(建議使用,如下圖所示):git log --oneline --graph --all
分支有什么用?
比如開發一個應用,在master分支上開發了v1 v2 v3 v4個版本,在v2版本上覺得一周之后可以上線了,上線后發現在v2版本上有一個bug,但是在master主線上,已經開發到v4版本,在v4版本上開發新的功能了,這時應該怎么辦?
分支就可以解決這個問題,通過git命令切換到v2版本,在v2版本master節點上,建立一個分支專門修復bug,當分支上bug修復好了,在回到master節點的v4版本繼續開發,等開發完成,最后,合并分支,這樣新功能開發完成了,bug也修復好了。
六、合并分支branch(默認分支master)
在v1版本上創建分支:git branch 分支名
也可以,創建并切換到創建的分支:git checkout -b 分支名:
回到master分支:
現在的情況是,在helper分支上bug已經修復了,但是在master節點上,還沒有合并分支。
原則是:在上線新版本之前合并分支,修復bug
合并分支:git merge 分支名
將分支合并到當前節點上
解決沖突,根據需求來就可以。
七、遠程分支
版本控制(git倉庫)放在本地有一定的風險性,在遠程倉庫創建一個版本控制(git倉庫)。
例如:本地(local)git倉庫也有4個版本,將本地倉庫的4個版本推送到遠程(remote)git倉庫,這樣本地倉庫和遠程倉庫都有4個版本。
假設1:在本地新增第5個版本,只需要把第5個版本推送到遠程分支上即可(不需要把整個項目重新進行再次推送)。
假設2:本地這臺電腦的倉庫掛了,換一臺電腦直接從remote倉庫,將代碼進行拉取即可。
案例演示:
下一步找一個remote倉庫進行推送:
碼云進行演示:
登錄馬云:
登錄github,新建一個倉庫,(原理和本地一樣,新建一個倉庫,并進行初始化)
添加遠程倉庫:git remote add 遠程名稱 遠程地址
git remote add mayun git@gitee.com:gb_90/test.git
這樣本地倉庫和遠程倉庫就建立好連接了
列出所有遠程倉庫:git remote
這樣就會把本地倉庫連接的所有遠程倉庫都列出來
如果需要詳細信息,執行命令:git remote -v
fetch指的是:代碼拉取(下載)地址
push指的是:代碼推送(上傳)地址
一般個人就是一個地址
上傳代碼:git push -u 遠程名 分支名
git push 推送
-u:就是在服務器端設置如果下一次有人想把這代碼推送,應該推送到哪一個分支上去合并,因此推送代碼后面要加-u,避免以后往下拉取代碼出問題。
執行命令后,報錯 提交失敗,意思是,你可能是第一次提交,在執行git push 之前,先要執行,git pull
問題現象:在執行git pull的時候,提示當前branch沒有跟蹤信息:
解決方案:
比如說要操作master吧,一種是直接指定遠程master:
格式:git pull 遠程名稱分支
例如:
發生報錯:我們拒絕,因為你當前的分支是比較落后,也就是說,當前創建的分支,沒有遠程的分支新,現象是這樣的。下面進行強制推送-
git push -u -f origin master 強制推送代碼,把matser進行覆蓋
2、已經成功了,將本地代碼推送到遠程倉庫
3、登錄遠程,進行驗證
4、git branch 查看本地分支
git branch -r 查看遠程分支
再次測試驗證:
驗證成功!!!
本地倉庫刪除,從遠程拉取代演示:
克隆(拷貝)倉庫:git clone 倉庫地址
如果使用git clone 鏈接 這個克隆命令
他會默認為將遠程倉庫設置為你克隆的地址,不需要你再去設置。代碼拉取的地址
注:不是mayun對嗎?默認遠程倉庫名稱:origin,剛才咱們自己定義的mayun對吧,這個名稱可以自定義
如果繼續使用,mayun就會出錯
可以查看遠程名稱
把remote名稱修改為默認的origin即可:
八、多人遠程操作(重點)
案例演示:
本地設定2個人,gb,ly,在idea開2個終端進行模擬
gb先從remote拉取倉庫代碼
ly從remote拉取倉庫代碼:
gb ly分別進入倉庫:
gb創建1.txt:
添加至暫存區,提交到本地倉庫:
情景1:gb創建文件---->>>>>添加至暫存區---->>>>>
提交到本地倉庫。這時ly本地倉庫是沒有的,因為gb還沒有將本地的倉庫的代碼推送到remote倉庫。
將本地倉庫代碼---->>>>>推送到remote倉庫
查看remote:
查看提交記錄:
代碼已經同步完成!!!
情景2:這時ly本地倉庫中仍然沒有,remote倉庫中的最新代碼
獲取遠程更新:git pull 意思是拉取、下載
這樣gb ly 2個倉庫的代碼就同步了!!!!
查看具體提交信息:
git pull
未從remote拉取最新代碼,對內容進行修改,會報以下異常:
解決方案:
git pull
git pull命令就相當于git fetch && git merge
git fetch只是把代碼拉取到本地,放置到已提交狀態下。
首先gbly是gb更新一次,上傳remote
ly從remote將代碼拉取到本地,修改后
總結
以上是生活随笔為你收集整理的git下载安装、验证、企业实战单机、多人协作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第二篇 服务消费者(rest ribbo
- 下一篇: String类、StringBuffer