使用 Git Extensions 简单入门 Git
使用?Git?Extensions 簡單入門 Git
—— 獨立觀察員?2015.11.25
前言
關于這個主題,之前我錄了段視頻教程,在本地看清晰度還可以,但傳到優酷上就很不清晰了,即使是后來重制后還是一樣不清晰,所以現在想整理成文字版。當然,大家還可以將我百度云上的視頻下載下來觀看,連同優酷的相關地址都附在文末了。
?
正文
說到 Git 呢,相信從事軟件開發的都不陌生,是用于版本控制的,在全球范圍內被廣泛使用,相比于另一版本控制技術 ——SVN,似乎更受追捧一些,全球最大的代碼托管平臺 GitHub 使用的就是 Git 技術。
Git 與 SVN 的最主要的區別就是,Git 的代碼倉庫是分布式的,一般流程就是在本地拉一個服務器上倉庫的拷貝,修改代碼后先提交到本地倉庫,然后再合并到遠程倉庫;而 SVN 的代碼倉庫是集中式的,一般就服務器上的一個,提交代碼就是直接提交到服務器上的倉庫去,這樣如果網絡不暢就無法提交了,那段時間就無法版本控制了。
還有一點比較明顯的區別,不過我不知道我說的對不對,大家聽且聽之,自行判斷。Git 由于有本地倉庫,工作目錄一般就在本地倉庫那里,從文件角度上看不出兩個分支的文件分別在哪里,似乎工作目錄下同時只存在一個分支。而 SVN 則能夠清晰地看到哪些是主干的文件,哪些是分支的文件。
長久以來,Git 都是以命令行方式使用的,而 SVN 在 Windows 上則有 TortoiseSVN 這樣的強大的圖形界面工具,這就形成了鮮明對比。對于剛入門的人,就會不由自主地偏愛上使用 TortoiseSVN 來使用 SVN,而對 Git 心生敬畏。其實 SVN 也是可以使用命令行來使用的,而 Git 近年來也有了圖形界面工具,包括 TortoiseGit、msysGit(Git 版本控制系統在 Windows 下的版本)的 Gui、以及本文將要介紹的 Git Extensions 等。
我剛開始得知 Git Extensions 時,它是作為一款 Visual Studio 插件映入我眼簾的,在 Visual Studio 的插件庫中可以下載,但好像好久沒更新了(版本為 2.47.03)。后來(錄完視頻教程之后)我才發現原來其代碼維護在 sourceforge 網站(版本為 2.48.05)。
?
一、現在我們來安裝這個新版本(略去不重要的內容)
?
以下界面所示的三個工具,如果沒安裝過,則勾上讓其安裝。MsysGit 為 Git 的 Windows 版本,必須要安裝;Kdiff 為對比 / 合并工具,可選安裝,可以換為使用其它的相關工具;最后一個 Windows Credential Store for Git 用于在 Windows Credential Manager 中存儲倉庫的密碼,這在老版本中沒有,也安上吧。
?
安裝 Git Extensions:
?
安裝 KDiff3:
?
安裝 Git:
?
將 Git 和一些 Unix 工具加入運行路徑中:
?
跨平臺項目不推薦選第三個,Windows 上推薦選第一個,所以就選第一個吧:
?
安裝完成,Git Extensions 會彈出配置界面,如果有問題,一般就是選擇一下相關組件的路徑即可:
?
SSH 客戶端,OpenSSH 是命令行的,PuTTY 是圖形界面的:
?
二、接下來以使用 Git@OSC 網站為例
?
隨便選個項目點擊進入:
?
點擊 Fork,即可克隆代碼到自己的空間當中:
?
然后在自己的空間即可查看:
?
一般自己創建一個新分支:
?
保留原有的 master 分支不去使用:
?
因為點擊那個雙箭頭的圈會強制從 fork 的源拉取代碼來覆蓋原有的分支:
?
可以更改默認分支、設置是否使用 SVN 來管理等:
?
配置分支保護,可將原有分支設為只讀,避免自己提交代碼時不小心弄混了:
?
復制代碼路徑:
?
在文件夾內右鍵,選擇?"GitExt Clone…":
?
粘貼 url,然后分支我們先選 master 的,點擊克隆:
?
然后可用 Pull 選項拉取代碼到本地倉庫:
?
View changes 選項可查看修改記錄:
?
可以看到此時本地的 master 與遠程(origin)是同步的:
?
使用 "Git Bash Here" 選項可打開一個專用的命令行窗口(Bash):
?
可直接以命令行方式使用(比如查看當前是哪個分支):
?
使用 Checkout branch… 功能可簽出分支,這里我們將遠程的 dlgcy 分支也遷出到本地:
?
這樣本地就和遠程一樣也有兩個分支了:
?
使用命令行也可看出:
?
使用 "GitExt Commit…" 選項可提交修改:
左上角區域放的是改動過的文件,點擊紫色向下的箭頭可載入單個文件或全部載入,載入到底下的提交區,右上角顯示選中文件的改動內容,右下角填寫改動信息,最后點擊提交或提交并推送即可。
?
使用 Push… 選項可將本地倉庫推送到遠程倉庫:
?
會要求輸入(你在 oschina 網站的)用戶名和密碼:
?
切換分支就會切換代碼,就有可能就會有不同了:
?
切成了 dlgcy 分支:
?
使用命令行提交更改:
?
使用命令行推送更改:
(由于之前將 master 分支設置為了只讀,所以當時推送不成功;這次推送到 dlgcy 分支則是成功的。)
?
然后我們到網站上看一下,可以看到剛才的提交記錄了:
?
此時查看本地的差異是這樣的:
(因為本地 master 有修改和提交但未推送成功,本地 dlgcy 有修改和提交且推送成功)
?
附錄
優酷地址:http://v.youku.com/v_show/id_XMTM2ODk0ODM2OA
百度云地址:http://pan.baidu.com/s/1kTzlC71
總結
以上是生活随笔為你收集整理的使用 Git Extensions 简单入门 Git的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MemoryCache 使用不当导致的一
- 下一篇: 同学,解决下这个 Bug!