一、 環境安裝html
Git最新版下載地址:https://gitforwindows.org/git
TortoiseGit,Git客戶端,32/64位最新版及對應的語言包下載地址:https://tortoisegit.org/download/github
安裝的方法,一直下一步就行,具體作法省略。spring
二、 配置windows
1. 首先,請選定一個存放Git項目的目錄,這樣管理方便. 如: D:\test , 而後在資源管理器中打開.this
2. 在空白處點擊鼠標右鍵,能夠看到右鍵菜單中多了幾個選項。選擇 --> TortoiseGit --> Settings, 而後就能夠看到配置界面,以下圖所示:3d
3. 選中General,,Language中選擇中文.。不勾選自動升級的複選框,可能還須要指定 Git.exe 文件的路徑,如日誌
"D:\DevlopPrograms\Git\bin"。完成後,點擊應用,肯定關閉對話框(樓主比較習慣英文)。code
4. 再次點擊鼠標右鍵,能夠看到彈出菜單中已經變成中文.。原來的 Settings 變成 設置,Clone 變爲 克隆。htm
5. 配置右鍵菜單.。在設置對話框中,點選左邊的"Context Menu",設置經常使用的右鍵菜單。樓主比較經常使用的是以下選項:
6.設置記住密碼
!!!!密碼會明文保存在 C:\Users\Administrator\.git-credentials 這種文件中, 請當心使用.
進入設置, 點選左邊的Git標籤.能夠發現,右邊能夠配置用戶的名字與Email信息. 以下圖所示:
由於當前尚未本地項目,因此 「Edit local .git/config(L)」 按鈕處於灰色不可用狀態,若是在某個本地Git項目下打開配置對話框,那麼這個按鈕就可用,而後就能夠編輯此項目的一些屬性。
點擊 「Edit global .git/config(O)」按鈕,會使用記事本打開全局配置文件,在全局配置文件中,在後面加上下面的內容:
[credential] helper = store
完成後保存,關閉記事本,肯定便可。
當你推送項目到GitHub等在線倉庫時,會記住你輸入的用戶名和密碼
三、 示例
在工做目錄下,如D:\test,空白處右鍵,選擇: Git clone,則會彈出克隆對話框,以下圖所示:
在URL中填寫項目的訪問地址,如:https://github.com/xuwenjin/xwj_repo.git
根據項目大小,時間會不同. 克隆完成後,若是沒有錯誤,會給出提示:
進入克隆下的文件夾中,如D:\test\xwj_repo,空白處右鍵,彈出以下菜單:
其中,Git Pull是從遠端拉取最新的代碼,Git Fetch是從遠端拉取最新的分支,Git Push是將本地倉庫的代碼提交到遠端
Git Commit ->」master」,將本地代碼提交到本地版本庫(默認的分支是master)。
2. 將本地代碼提交到本地倉庫
建立一個文件,如test1.txt, 而後提交(commit)到本地版本庫(這個操做能夠在離線狀態操做)
2.1 選擇Git Commit ->」master」,彈出下圖:
2.2 填寫提交備註message(不填寫不容許提交),勾選須要提交的文件,點擊commit,便可將本地代碼提交到本地版本庫。
出現以下彈框,表示提交成功
其中,提交時,會發現上圖中的Status有幾種值:
Unknown:新增的文件,也不在版本庫
Added:新增的文件,在版本庫
Modified:文件修改,在版本庫
Missing:文件被刪除,在版本庫
3. 查看日誌
在日誌中,能夠經過日期、文件名、提交人等等過濾查詢。
3.1 經過日誌,能夠很直觀的看到提交相關記錄。好比提交人、提交時間、提交了哪些文件等等。這些信息便於之後進行文件對比或
者版本回滾(後面將會介紹)點擊test1.txt,能夠看到本次提交,對test1文件進行了哪些操做:
至於怎麼去看這些顏色表示什麼意思,能夠去百度一下,這裏不作介紹
4. 將代碼推送(push)到遠端。這裏是github
右鍵空白處,選擇Git Push,出現以下彈框:
這裏能夠看到是本地哪一個版本庫提交到遠端。至此,文件的整個提交過程就完成了
5. 分支
發現問題:你代碼寫了不少,運行OK;可是忽然想加個新功能進去,這個功能你也不知道可否正常運行,並且修改過程當中,除了新加代碼和文件進去,還會修改之前的代碼。要是萬一失敗,修改回來也是一種很麻煩的事情。這種時候不少人就用備份方式。來看看git是怎麼優雅的處理這個問題的。
git的處理方式:當你想加一個新功能進去的時候,你能夠新建一個分支,例如名字叫newbranch,而後在分支中把新功能加上去,若是OK,將代碼合併到master分支上,若是新功能失敗,切換回master分支上來,在newbranch寫的代碼,又全看不到了。
5.1 新建一個分支,右鍵-->TortoiseGit-->Create Branch
右鍵,你會發現當前的分支爲你新建的newbranch分支了
5.2 接下來,就開心新增你的功能,好比咱們在test1.txt文件中新增一行文字,同時新增一個文件test2.txt
5.3 提交咱們的代碼到newbranch分支的本地倉庫,參考以前的2.2
5.4 忽然發現該功能有漏洞,想回到以前的master分支,怎麼辦呢?
右鍵-->TortoiseGit-->Switch/Checkout,選擇master便可。以下圖:
5.5 空白處右鍵,會發現已經切換到master分支了。此時發現test2.txt並無帶過來,再來看看test1.txt文件是否回到了從前呢?
結果顯示,不管是修改仍是添加,都沒有影響master分支上的文件,這就是分支的做用。
6. 分支合併
若是此時發現newbranch分支上的功能是有效的,但願能合併到master,又該怎麼操做呢?
PS:在合併分支前,必定要確認newbranch分支上的代碼所有提交到本地版本庫了
右鍵-->TortoiseGit-->Merge,選擇被合併的分支,即newbranch。以下圖
6.1 點擊Ok按鈕,會出現下圖彈框。彈框中會列出被合併的文件。以下圖所示:
6.2 咱們發現test2.txt文件被合併過來了,打開test1文件,發現內容正好是在newbranch分支上修改的內容。
至此,分支合併完成
7. 拉取(pull)遠端最新的修改內容
此時,咱們團隊還有另外一個成員B,他須要獲取我最新修改的內容,該怎麼操做呢?
首先B切換到跟我同一分支,而後右鍵-->Git Pull,點擊確認便可,就可將我修改的內容拉取到他的本地版本庫
8. 版本回滾
8.1先查看日誌,肯定想回滾到哪一個版本
8.2 好比想回滾到建立test1.txt文件前,則點擊該步操做所對應的message以前的那一個日誌(add spring demo)
而後右鍵-->Reset 「master」 to this…,表示將當前master分支上的文件回滾到這個版本,以下圖
8.3 選擇以後,彈出以下彈框,在Reset Type下選擇Hard:Reset working…..,點擊Ok便可
會發現,此時test1.txt跟test2.txt兩個文件都消失了,以下圖:
9. 解決衝突(略)