一.概念
- 分布式版本控制系統。誕生於Linux社區,有興趣可以去了解下git的前世今生。
- 與集中式版本控制有明顯區別。集中式:集中管理的服務器,保存所有的修訂版本,協同工作的人通過客戶端連接服務器,取出最新文件或者提交更新。分布式:每個人,都有一個版本庫,人人平等,每次提取都是代碼倉庫的一次備份,如果你修改文件A,你同事也修改了文件A,只需要把各自的修改推送給對方即可。
二.git安裝
傳送門==>https://gitforwindows.org/
下載完后,開始安裝git
默認安裝即可
git安裝完成。
三.小烏龜安裝和漢化
傳送門===>https://download.tortoisegit.org/tgit/2.8.0.0/ 這是2.8版本,可以自己找需要的版本,然后根據自己電腦配置下載。也可以下載個語言包
下載完成后,先安裝小烏龜,在漢化。
不停的next安裝,直到完成
完成后,打開下載的語言包進行漢化(針對英語不好的同學)
把√打上,語言包就應用上了。查看一下是否都安裝完成,很簡單。我們在桌面上,右鍵。
已經有git,和漢化的小烏龜。
四.基本操作
在代碼拖管平台上,注冊和創建項目。如github,開源中國。創建完后,復制項目地址
本地創建一個空文件夾,作為本地倉庫。在文件夾內,右鍵->git克隆。url我們剛才復制的地址
確認后,還得添加一個git的基本信息配置,右鍵能看到小烏龜,鼠標停放,然后進入設置
拉取時要求輸入用戶名和密碼,就是在代碼托管平台上時注冊的,之后就開始克隆項目鏡像。
已經克隆完畢。這是我們的工作區,我們可以任意在這邊修改和添加。我們先嘗試添加一個文件試試。
創建一個文件,里面隨意添加一些內容
先進行添加文件操作,現在的操作都是在本地倉庫中進行的。
然后把本地的暫存區(可先了解git工作流程)的內容提交到本地倉庫。
提交到本地倉庫后,要推送到代碼托管平台。右鍵進行推送(push)。
推送成功,我們現在去代碼托管平台看看吧。
是不是已經推送到代碼平台了,然后跟我們同分支下開發的同事。拉取時就能看到了我們的文件。
下面我們對這文件進行刪除操作。把剛才我們的test文件刪除,提交到本地倉庫
提交完成后,跟添加操作一樣,推送到代碼托管
在到代碼平台查看,發現文件已被刪除。
修改文件,添加文件夾。也是一樣的操作,就不介紹了。
五.分支
我們來玩下分支的概念。
在工作中,我有個想法不確定,不知道是否正確。又不想影響到主干內容,這時,我們就可以創建一個分支,來測試自己的想法。
我們先來看下目前分支的文件內容,待會好跟分支對比。test文件
我們來創建一個分支
分支名稱隨意,都是自己本地倉庫。跟代碼平台無關,想怎么玩就怎么玩。。。我取為 ==>deo
我們現在切換到創建的deo分支,看下內容,發現跟原來一樣
我們現在進行隨意更改和添加操作。。。
現在我們切換到原來的分支上,看下內容。發現還是和原來一樣的(有興趣可以去了解下git原理,都是基於地址的操作)
發現我們想法是正確的,想把之前的內容復制粘貼到這分支上。。如果你這么做,你就out了,現在我們把deo分支內容提交到倉庫,然后進行合並分支的操作。
合並完成並刪除分支后,我們在看下我們原來分支里的test文件。
六.文件沖突
我們現在人為的制作一個沖突測試。
在代碼托管平台,我們test文件刪除幾行,在本地,不進行拉取,對同一個文件進行修改,並推送給服務器
點解決,對比沖突文件。進行手動解決。
左邊為服務器,內容,我們發現第六行,添加和123645,本地是文字。。。我們進行手動更改
然后保存,標記沖突解決。重新進行提交(commit),在進行push操作。沖突解決。當然還可以用終究辦法,強制更新本地,與遠程倉庫保持一致
git fetch --all && git reset --hard origin/master && git pull