目錄
一、版本控制介紹
1. 版本控制介紹
2. 版本控制工具
3. git簡介
二、git安裝與配置
1. 下載git
2. 安裝git
2. 配置git
三、git代碼托管服務
1. 常見的git代碼托管服務
2. 注冊碼云帳號【這里介紹一種的用法,其它也是一樣的操作】
3. 創(chuàng)建遠程倉庫
四、git命令-操作本地倉庫
1. 獲取倉庫
1 方式1克隆項目倉庫
2 方式2本地創(chuàng)建倉庫
2. 本地倉庫操作
1 工作區(qū),暫存區(qū)和版本庫
2 常用命令
3 操作示例
3. 小結
五、git命令-操作遠程倉庫
1. 常用命令
2. 操作示例
1 查看遠程倉庫:git remote
2 添加遠程倉庫:git remote add
3 克隆遠程倉庫:git clone
4 推送到遠程倉庫:git push
5 從遠程倉庫拉取:git pull
3. 小結
六、git命令-操作分支與標簽
1. 分支操作
1 分支介紹
2 常用命令
3 操作示例
1 查看分支:git branch
2 創(chuàng)建分支:git branch 分支名稱
3 切換分支:git checkout 分支名稱
4 推送分支到遠程倉庫:git push
5 合并分支:git merge
2. 標簽操作
1 標簽介紹
2 常用命令
3 操作示例
2 創(chuàng)建標簽:git tag 標簽名
3 推送標簽到遠程倉庫:git push 遠程倉庫名 標簽名
4 檢出標簽:git checkout -b 分支名 標簽名
3. 小結
七、idea整合git
1. 在idea中配置git
2. 獲取git倉庫
3. 本地倉庫操作
1 添加到暫存區(qū)
2 提交到本地倉庫
3 查看日志
4. 遠程倉庫操作
1 查看遠程倉庫
2 推送到遠程倉庫
3 從遠程倉庫拉取
5. 分支操作
1 查看分支
2 創(chuàng)建分支
3 切換分支
4 推送分支到遠程倉庫
5 合并分支
一、版本控制介紹
1. 版本控制介紹
版本控制(Revision control)是一種軟件工程技巧。籍以在開發(fā)的過程中,確保由不同人所編輯的同一檔案(項目代碼)都得到更新。
利用版本控制,可以:
-
保存并可以回溯代碼的歷史版本
-
可以切換不同版本的代碼
-
多人協(xié)同開發(fā)一個項目
-
備份源代碼
-
協(xié)同開發(fā)時定位修改代碼的責任人
2. 版本控制工具
-
CVS:早期版本管理軟件
-
ClearCase:IBM企業(yè)級大型版本管理工具, 收費。
-
VSS:微軟推出的版本管理工具, 較少使用
-
SVN:市面最流行的版本管理工具之一,擁有CVS所有功能,修復了CVS的不足
-
GIT:分布式版本管理工具。已經(jīng)是大勢所趨。Linus Torvalds開發(fā)的 (Linux)
3. git簡介
Git 是一個分布式版本控制工具,通常用來對軟件開發(fā)過程中的源代碼文件進行管理。通過Git 倉庫來存儲和管理這些文件,Git 倉庫分為兩種:
-
本地倉庫:開發(fā)人員自己電腦上的 Git 倉庫
-
遠程倉庫:遠程服務器上的 Git 倉庫
git基本操作:
-
commit:提交,將本地文件和版本信息保存到本地倉庫
-
push:推送,將本地倉庫文件和版本信息上傳到遠程倉庫
-
pull:拉取,將遠程倉庫文件和版本信息下載到本地倉庫
二、git安裝與配置
1. 下載git
git下載地址:Git - Downloads
2. 安裝git
雙擊git安裝包,一路下一步直到最后。注意==安裝的路徑里,不要有中文、空格、特殊字符==
安裝成功后,在桌面上右鍵會有以下選項:
-
Git GUI Here:在當前文件夾里打開git圖形窗口界面
-
Git Bash Here:在當前文件夾里打開git命令行界面
2. 配置git
安裝好git之后,要使用git進行版本控制,通常需要配置一下自己的姓名和郵箱信息,用于在每次提交代碼時作為自己的身份標識,這是非常重要的。
操作步驟如下:
-
在任意文件夾里右鍵(例如,在桌面上右鍵),Git Bash Here,打開git命令行界面
-
輸入命令:
-
git config --global user.name '姓名'
建議都使用英文+數(shù)字 -
git config --global user.email '郵箱地址'
“郵箱地址”建議用真實郵箱地址 -
git config --global credential.helper store
讓git存儲gitee的帳號和密碼,不需要每次操作遠程倉庫都輸帳號密碼
-
-
驗證是否配置成功:
-
git config --list
-
三、git代碼托管服務
1. 常見的git代碼托管服務
Git中存在兩種類型的倉庫,即本地倉庫和遠程倉庫。我們在git介紹里所謂的“git遠程倉庫”,其實就是這里所說的“git代碼托管服務”
那么如何搭建Git遠程倉庫服務呢?其實我們可以借助互聯(lián)網(wǎng)上提供的一些代碼托管服務來實現(xiàn),其中比較常用的有:
-
GitLab (地址: The most-comprehensive AI-powered DevSecOps platform | GitLab ),是一個用于倉庫管理系統(tǒng)的開源項目,使用Git作為代碼管理工具,并在此基礎上搭建起來的web服務
-
GitHub( 地址:https://github.com/ ),是一個面向開源及私有軟件項目的托管平臺,因為只支持Git 作為唯一的版本庫格式進行托管,故名gitHub
-
碼云(地址: Gitee - 基于 Git 的代碼托管和研發(fā)協(xié)作平臺 ),是國內的一個代碼托管平臺,由于服務器在國內,所以相比于GitHub,碼云速度會更快
-
BitBucket(地址:Bitbucket | Git solution for teams using Jira) ,是一家源代碼托管網(wǎng)站,采用Mercurial和Git作為分布式版本控制系統(tǒng),同時提供商業(yè)計劃和免費賬戶
遠程倉庫用什么,看公司的要求
2. 注冊碼云帳號【這里介紹一種的用法,其它也是一樣的操作】
1 注冊gitee帳號
打開Gitee - 基于 Git 的代碼托管和研發(fā)協(xié)作平臺,點擊注冊按鈕,輸入信息進行注冊
2 登錄gitee帳號
點擊登錄按鈕,進入登錄頁面。輸入剛剛注冊的帳號信息,點擊登錄
3. 創(chuàng)建遠程倉庫
一個倉庫,通常用于存儲一個項目的代碼。git會把一個項目的所有歷史版本記錄和代碼,全部存儲到一個倉庫里。所以,我們可以理解為:一個倉庫,就是一個項目的代碼。一個項目,要創(chuàng)建一個倉庫
1 點擊“新增倉庫”
2 設置倉庫基本信息
3 查看倉庫地址信息
查看空倉庫的地址
如果新創(chuàng)建的倉庫,里邊沒有任何內容,會顯示以下界面
查看非空倉庫的地址
如果倉庫里已經(jīng)有內容了,要獲取倉庫的地址,需要點擊以下按鈕:
4 邀請倉庫成員
新創(chuàng)建的倉庫,只有自己一個成員(自己是管理員),即只有自己能夠向倉庫里推送代碼。而在實際開發(fā)中,一個項目通常是由一個小組的成員共同完成的,這就需要其它人員也能夠看到此倉庫、能夠向倉庫里推送代碼。
為了實現(xiàn)小組共同完成項目,需要給倉庫添加成員:
四、git命令-操作本地倉庫
1. 獲取倉庫
在實際開發(fā)中,通常有兩種方式獲取項目倉庫:
-
作為架構師或Leader,需要:
-
創(chuàng)建空的共享倉庫(例如gitee)
-
在自己的本機上創(chuàng)建項目版本倉庫,推送到共享倉庫(例如gitee)里,供組員clone得到初始項目倉庫
-
-
作為項目組普通成員,只要:
-
直接從共享倉庫(例如gitee)里克隆項目倉庫到本機即可
-
獲取本地倉庫里的代碼,開始開發(fā)工作
-
當我們得到倉庫之后,這個倉庫文件夾,就是項目文件夾:
-
開發(fā)人員在倉庫文件夾里直接寫代碼
-
完成功能后,把代碼提交到本地倉庫,留下一次提交記錄
1 方式1克隆項目倉庫
在任意文件夾里打開git bash窗口,執(zhí)行命令:git clone 倉庫地址
如果帳號密碼輸錯了,導致后邊所有遠程倉庫的操作都失敗,或者連接不上可以:
-
清理一下舊的遠程倉庫的認證信息:
git config --system --unset credential.helper
-
然后重新操作,會讓我們重新輸入gitee的帳號和密碼
2 方式2本地創(chuàng)建倉庫
創(chuàng)建一個文件夾,在文件夾里打開git bash容器,執(zhí)行命令:git init
2. 本地倉庫操作
1 工作區(qū),暫存區(qū)和版本庫
在git的版本庫里,有三個區(qū)域是必須要了解的:
-
工作區(qū):項目倉庫文件夾里就是工作區(qū),我們直接在這個文件夾里編輯代碼。
-
版本庫:工作區(qū)內有一個隱藏的
.git
就是版本庫,其中保存了項目的所有變更歷史記錄。如果把這個.git
刪除掉,倉庫就成為普通文件夾了,git不能再進行版本控制了 -
暫存區(qū):
.git
里的index
文件就是暫存區(qū),也叫stage。暫存區(qū)是臨時保存修改文件的地方
三個區(qū)域的運作模式:
工作區(qū)里的文件狀態(tài)有三種:
-
untracked:未跟蹤。表示文件是新創(chuàng)建的,還沒有納入到git的管控
-
tracked:已跟蹤,已納入git版本控制,隨著操作又有不同的狀態(tài)變化
-
Unmodifed:文件未修改,沒有新的變化
-
Modified:文件已被修改
-
Staged:文件已暫存,已添加到暫存區(qū)了
-
2 常用命令
3 操作示例
1 查看倉庫狀態(tài):git status
在tlias倉庫文件夾里,先后執(zhí)行命令:
-
查看倉庫狀態(tài):
git status
-
在倉庫里創(chuàng)建文件a.txt
-
再次查看倉庫狀態(tài):
git status
Untracked files:未被git管控的文件有a.txt
2 添加文件到暫存區(qū):git add
執(zhí)行命令:
? ? ? ? 1.添加到暫存區(qū):git add a.txt
,把a.txt添加到暫存區(qū)。
如果有多個文件一起添加,可以使用git add 文件1 文件2 ...
也可以用git add ./*
把當前文件夾里所有 有變化的文件全部添加到暫存區(qū)
? ? ? ? 2.再次查看倉庫狀態(tài):git status
3 取消暫存或切換版本:git reset
取消暫存
執(zhí)行命令:
-
取消暫存:
git reset a.txt
,把a.txt
恢復成暫存命令執(zhí)行之前的狀態(tài)(已修改未暫存) -
查看狀態(tài):
git status
,發(fā)現(xiàn)a.txt變成了未暫存的狀態(tài)
切換版本
如果要恢復成歷史記錄中的某個版本,可以執(zhí)行命令:git reset --hard 版本號
2.3.4 提交到版本庫:git commit
如果修改了某些文件,想要提交版本,必須先添加到暫存區(qū)才能提交:
-
把文件添加到暫存區(qū):
git add 文件1 文件2 ...
-
把暫存區(qū)內容提交到版本庫:
git commit -m '本次提交的描述'
5 查看版本記錄:git log
如果想要查看歷史提交記錄,可以執(zhí)行命令:git log
3. 小結
獲取本地倉庫,有兩種方式:
-
直接克隆遠程倉庫,得到本地倉庫:git clone 遠程倉庫的地址
-
本地文件夾里 初始化本地倉庫:在本地文件夾里打開Git Bash Here,執(zhí)行命令 git init
本地倉庫操作:
-
如果新增或修改或刪除了文件,需要:
把文件添加到暫存區(qū)
git add 文件路徑 文件路徑 文件路徑...
把暫存區(qū)的文件取消暫存
git reset 文件路徑 文件路徑 ...
然后把暫存區(qū)里所有內容一次性提交到本地倉庫,需要:
git commit -m '提交的描述信息'
-
要查看過去的提交日志記錄,需要:
git log
-
要查看本地倉庫的狀態(tài),需要:
git status
五、git命令-操作遠程倉庫
如果僅僅把代碼提交到本地倉庫是不夠的,我們是項目組合作開發(fā),所以你提交的代碼還要推送到共享倉庫里,組內其它成員可以拉取到你提交的代碼。反之,組內其它成員提交的代碼,也要推送到共享倉庫里,你也可以從共享倉庫里拉取得到其它人的代碼。
1. 常用命令
2. 操作示例
1 查看遠程倉庫:git remote
-
查看遠程倉庫:
git remote
origin
是默認的遠程倉庫縮寫代號。從遠程倉庫里克隆下來的項目,必定有這個名稱 -
查看遠程倉庫詳細信息:
git remote -v
2 添加遠程倉庫:git remote add
添加遠程倉庫:git remote add 倉庫地址代號 倉庫地址
?
注意:實際開發(fā)中,從某個遠程倉庫里克隆下來的項目,通常不需要額外再添加第二個遠程倉庫
剛剛僅作為語法的效果演示,實際開發(fā)基本不會這樣操作,所以這里取消關聯(lián)第二個遠程倉庫
git remote remove 倉庫名
3 克隆遠程倉庫:git clone
-
語法:
git clone 遠程倉庫地址
-
注意:在之前的“獲取倉庫”一節(jié)中,已經(jīng)演示過了,效果如下圖所示:
4 推送到遠程倉庫:git push
當你的某個功能開發(fā)完成后,已經(jīng)提交到了本地倉庫,還需要再做一步:推送到遠程倉庫,其它人才可以從遠程倉庫里拉取到你的代碼
-
語法:
git push 遠程倉庫名 分支名
注意:第一次向遠程倉庫(例如gitee)推送時,會彈出窗口,需要輸入遠程倉庫(例如gitee)的帳號和密碼
?????
5 從遠程倉庫拉?。篻it pull
如果組內其它人向遠程倉庫里推送了代碼,而你想要從遠程倉庫里拉取得到最新的代碼,就要執(zhí)行拉取命令了
-
語法:
git pull 遠程倉庫名 分支名
注意:如果本地倉庫是自己創(chuàng)建的(而不是克隆下來的),并且有文件,然后從遠程倉庫里拉取代碼時會報錯fatal: refusing to merge unrelated histories
解決方法:git pull origin master --allow-unrelated-histries
3. 小結
進入公司以后,需要獲取到本地倉庫:
-
克?。?code>git clone 遠程倉庫地址, 得到本地倉庫。本地倉庫里有所有的歷史提交記錄和所有的源碼
然后一個倉庫,就是一個項目。可以編寫代碼,完成功能。當功能完成以后,需要:
-
添加到暫存區(qū):
git add 文件路徑
。如果所有有變化的文件都是這一次功能的,可以一次性加:
git add .
-
提交到本地倉庫:
git commit -m '描述信息'
添加一次提交記錄,xxx在xxx時間修改了xxx文件
-
推送到遠程倉庫:
git push origin master
語法:git push 遠程倉庫地址簡稱 分支名
如果不推送,組里其它人就不能獲取最新的代碼
如果要獲取其它人推送的最新代碼:
-
從遠程倉庫拉?。?code>git pull origin master 語法:
git pull 遠程倉庫地址簡稱 分支名
六、git命令-操作分支與標簽
1. 分支操作
1 分支介紹
分支就是科幻電影里面的平行宇宙,當你正在電腦前努力學習Git的時候,另一個你正在另一個平行宇宙里努力學習SVN。
如果兩個平行宇宙互不干擾,那對現(xiàn)在的你也沒啥影響。不過,在某個時間點,兩個平行宇宙合并了,結果,你既學會了Git又學會了SVN!
分支在實際中有什么用呢?假設你準備開發(fā)一個新功能,但是需要兩周才能完成,第一周你寫了50%的代碼,如果立刻提交并推送,由于代碼還沒寫完,不完整的代碼庫會導致別人不能干活了。如果等代碼全部寫完再一次提交,又存在丟失每天進度的巨大風險。
現(xiàn)在有了分支,就不用怕了。你創(chuàng)建了一個屬于你自己的分支,別人看不到,還繼續(xù)在原來的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到開發(fā)完畢后,再一次性合并到原來的分支上,這樣,既安全,又不影響別人工作。
2 常用命令
倉庫里默認會有一個分支,名稱是master
刪除本地分支:git branch -d 分支名
刪除遠程分支:git push origin -d 分支名
3 操作示例
1 查看分支:git branch
-
查看本地分支:
git branch
-
查看遠程分支:
git branch -r
-
查看所有分支:
git branch -a
2 創(chuàng)建分支:git branch 分支名稱
-
創(chuàng)建新分支:
git branch 分支名稱
3 切換分支:git checkout 分支名稱
-
切換到指定分支:
git checkout 分支名稱
-
注意:切換分支前,要把工作區(qū)的內容提交或緩存起來。否則切換分支時會導致分支之間干擾混亂
4 推送分支到遠程倉庫:git push
我們剛剛創(chuàng)建的分支,都是本地分支,遠程倉庫里還沒有這個分支。要推送到遠程倉庫的話:
-
推送到遠程倉庫:
git push 遠程倉庫名 分支名
5 合并分支:git merge
實際開發(fā)中,我們往往使用分支來開發(fā)自己的功能。當功能開發(fā)完成后,需要把功能分支的代碼合并到dev分支。
-
合并分支:
git merge 分支名
,把指定分支合并到當前分支
2. 標簽操作
1 標簽介紹
git里的標簽,是指把某次提交狀態(tài)的代碼打上一個標記。通過這個標簽,可以很方便的切換到標記時的代碼。開發(fā)中,我們通常會把代碼里某個特別穩(wěn)定的版本打上標簽,例如:
2 常用命令
3 操作示例
1 查看標簽:git tag
-
查看已有標簽:
git tag
2 創(chuàng)建標簽:git tag 標簽名
-
創(chuàng)建標簽:
git tag 標簽名
,在當前提交的基礎上創(chuàng)建標簽
3 推送標簽到遠程倉庫:git push 遠程倉庫名 標簽名
我們創(chuàng)建的標簽僅僅是在本地倉庫里,如果想將標簽推送到遠程倉庫,可以使用推送命令
-
推送標簽:
git push 遠程倉庫名 標簽名
4 檢出標簽:git checkout -b 分支名 標簽名
如果想要切換到標簽對應的代碼,需要執(zhí)行檢出標簽的命令
-
檢出標簽:
git checkout -b 分支名 標簽名
,將標簽對應的代碼檢出成為一個新的分支分支名:不能與已有分支名重復
3. 小結
實際開發(fā)中,通常是要開發(fā)一個功能,就創(chuàng)建一個新分支;要修改一個bug,就創(chuàng)建一個新分支
相關的操作命令:
-
創(chuàng)建分支:git branch 分支名
-
查看分支:git branch 查看本地分支; git branch -r 查看遠程分支; git branch -a 查看所有分支
-
切換分支:git checkout 分支名
然后在分支里編寫代碼,添加暫存區(qū),提交到本地倉庫
注意:切換分支時,還未提交的代碼,將會帶到 目標分支里。
-
推送分支到遠程倉庫:git push origin 分支名
-
合并分支:git merge 分支名 把指定分支合并到當前分支
-
刪除分支:git brand -d 分支名 刪除的是本地的分支
git push origin -d 分支名 刪除遠程倉庫里的指定分支
七、idea整合git
1. 在idea中配置git
2. 獲取git倉庫
1 方式1克隆遠程倉庫
克隆遠程倉庫后,使用idea打開倉庫代碼(一個倉庫就是一個項目)
-
打開idea時,從VCS版本控制系統(tǒng)里獲取倉庫
2 方式2初始化本地倉庫
-
創(chuàng)建忽略文件
在開發(fā)中,有些文件是不需要納入版本控制的。例如:target文件夾,.idea文件夾等。
想要讓git忽略某些文件不管理,只要在==本地倉庫的根目錄==里創(chuàng)建一個文件.gitignore
(名稱不要寫錯),在文件里配置要忽略的內容:
target/
.idea/
*.iml
? ? ?2. 啟用版本控制整合
? ? 3.?選擇版本控制工具,使用git
3. 本地倉庫操作
1 添加到暫存區(qū)
2 提交到本地倉庫
1.點擊提交按鈕
2.輸入提交描述信息
3 查看日志
4. 遠程倉庫操作
1 查看遠程倉庫
2 推送到遠程倉庫
點擊推送按鈕
3 從遠程倉庫拉取
5. 分支操作
1 查看分支
在idea的右下角,會顯示當前分支。點擊分支名稱,會列出所有的分支,包括本地分支和遠程分支
2 創(chuàng)建分支
基于當前提交創(chuàng)建分支: ????????
給分支起名稱:
3 切換分支
切換分支,即檢出分支,操作如下:
4 推送分支到遠程倉庫
5 合并分支
先切換到master分支后,
再執(zhí)行如下操作的效果是:把“feature-student”分支合并到當前的master分支文章來源:http://www.zghlxwxcb.cn/news/detail-850622.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-850622.html
到了這里,關于Git (版本控制,git安裝和配置,git代碼托管服務,git操作本地遠程倉庫,分支,idea整合git)【看這一片就夠】的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!