碼雲+SourceTree 推送程式碼
1.SourceTree使用方法 - CSDN部落格 http://blog.csdn.net/u012230055/article/details/64125268
一 、SourceTree簡介
SourceTree 是 Windows 和Mac OS X 下免費的 Git 和 Hg 客戶端,擁有視覺化介面,容易上手操作。同時它也是Mercurial和Subversion版本控制系統工具。支援建立、提交、clone、push、pull 和merge等操作。
二、下載安裝SourceTree步驟
1、下載地址:https://www.sourcetreeapp.com/,該版本是中文的
下載完成後可以進行安裝。
2、安裝SourceTree
安裝首介面
點選,Next
點選“install”,安裝完成後,開啟sourcetree,點選“user an existing account”,如圖
注意:1使用谷歌帳號登入即可,前提是你必須可以上谷歌才可以。
GOOGLE帳號登入完成之後,如圖:
此處無需設定,直接點選“跳過初始設定”即可。
登入註冊成功後,彈出設定puttykey的介面,點選“取消”即可。
點選“取消”按鈕,彈出如下提示框:
此時進入到sourcetree的主介面,現在就可以使用sourcetree啦。
三、整合檔案對比外掛
安裝對比外掛
Sourcetree中整合Beyond Compare 4,當檔案衝突時可以很好的解決衝突。安裝過程很簡單,這裡不再詳述。
Sourcetree中配置Beyond Compare 4
選單欄,“工具”——“選項”,如圖所示:
選擇“比較”選項卡,然後將紅色方框處的內容修改為如圖所示:
四、SourceTree基本使用
(1)克隆
點選克隆按鈕,克隆專案:
既可以是本地已有的git專案,也可以是遠端目錄中的專案,
本地存在的git專案,
獲取專案克隆地址,點選克隆按鈕,如圖所示:
1、克隆專案的路徑
2、克隆專案存放的位置
3、如果要下載特定的分支,可以按分支進行下載
(2)配置忽略檔案
利用.gitignore過濾檔案,如編譯過程中的中間檔案,等等,這些檔案不需要被追蹤管理。
.gitignore檔案只對還沒有加入版本管理的檔案起作用,如果之前已經用git把這些檔案納入了版本庫,就不起作用了
使用sourcetree新增忽略檔案的方法:
正常情況下,管理員建立專案後需要直接將忽略檔案建立好。建立方法如圖:
按照如上步驟操作即可編輯衝突檔案。
衝突檔案規則:
忽略資料夾(如:bin、obj):
obj/
bin/
某目錄下的所有.txt檔案,
obj/*.txt
開發的過程中可能遇到一些忽略檔案中未新增的檔案,此時需要開發者自行新增忽略檔案,新增方法如下:
之前已經介紹過未進行版本控制的或者受版本控制的檔案,在sourcetree的“檔案狀態” 標籤中查詢,如圖所示:
滑鼠右鍵要忽略的檔案,點選“忽略”,選擇忽略的模式,即可將檔案進行忽略,如圖所示:
(3)tag使用方法
打tag的目的是在程式碼的主要節點處有個標記,方便下次修改程式碼時可以準確的找到想要找的程式碼。而無需看著日誌檔案逐一回憶要找的程式碼位置。
(4)分支管理與使用
使用sourcetree建立和使用分支是很方便的,不像之前使用的TortoiseGit只能在當前程式碼處建立分支,使用sourcetree的方便之處:
1、可以選擇特定的某版本建立分支
2、程式碼檢出時可以按照分支進行檢出
3、分支的新增很簡單
分支新增:
1、可以在當前的版本下建立分支
2、選擇指定的提交建立分支
3、點選“建立分支”
分支提交到伺服器:
在sourcetree右側內容中的分支列表中,選中建立的分支,右鍵提交,如圖所示:
分支合併:
1、分支合併功能和分支新增功能類似,這裡不再詳述,需要注意的是首先要切換到被合併的分支上,再進行合併操作。
2、分支合併時,可以選擇具體的某提交進行合併,同時主分支可以合併到子分支;子分支可以合併到主分支;子分支之間也可以進行合併。
(5)GIT與SVN同步
git svn工具集在當前不得不使用 Subversion 伺服器或者開發環境要求使用 Subversion 伺服器的時候格外有用。不妨把它看成一個跛腳的 Git,在實際使用中不推薦這樣使用GIT。
(6)基本步驟
提交、拉取和推送
提交:
專案提交是為了維護本地版本庫,如果本地有未提交的內容,則不允許拉取和推送;如圖所示區域有內容時,則代表本地未提交的內容:
點選Stage All,填寫提交資訊既可以將本地內容(暫存區)提交到本地版本庫,如圖所示:
1、將未暫存的檔案進行暫存,如果有些檔案不需要暫存,則可以進行刪除,選中檔案,右鍵“移除”即可。
拉取:從遠端將程式碼進行更新,相當於SVN的“更新”
推送:將程式碼提交到遠端。
(7)解決衝突
簡單介紹
1、衝突檔案的符號為“感嘆號”
2、選中“衝突檔案”,右鍵——點選”解決衝突“——點選”開啟外部合併工具“(備註:才操作時已經安裝外部合併工具,同時在sourcetree中已經進行配置,詳見”整合檔案對比外掛“)
衝突介面
衝突解決介面如下:可以根據需要選擇內容顯示型別,只”顯示更改“,”顯示衝突“或者”全部“
解決衝突
方法一:在相關的版本處,選中”衝突行”,合併區預設處於合併位置,滑鼠右鍵,選擇最終衝突地方留下的內容,如圖:
解決衝突之後效果圖:
1、衝突圖示由”感嘆號”——“省略號”。
2、右側顯示修改後的程式碼進行檢視。
3、同時修改的衝突檔案有相應的備份,大家可以下載到本地,方便衝突有問題再次修改檔案。
備註:該檔案下載之後請將版本庫中的該檔案刪除,不要上傳到版本庫中。
4、修改完衝突之後,需要再次提交,推送。大家養成提交時,提交有效的日誌資訊,不要將比如:123之類的資訊推送到伺服器中。
方法二:如果衝突非常少,可以直接在右側欄中解決衝突,如圖所示:
1、點選未暫存區域的衝突檔案。
2、右側列表中出現衝突的內容。
3、選擇衝突內容,解決衝突,如圖所示:
暫存行:表示保留該內容
丟棄行:表示刪除該內容
備註:區分於第一種方式,使用第一種方法解決時,不要點選”未暫存檔案”,否則可能無法開啟衝突檔案
(8)版本回退
原則上,程式碼推送之前要保證本地的程式碼可執行,不要將不可執行或者有問題的程式碼推送到伺服器上,如果由於誤操作,將程式碼推送到了遠端,想重新修改上傳程式碼,此時,需要將版本進行回退,回退方法如圖:
1、切換到日誌/歷史標籤
2、選擇要恢復到的版本,如圖藍色位置
3、滑鼠右鍵,選擇“重置當前分支到此次提交”
4、選擇”重置模式”,如圖所示
5、彈出框中選擇”Yes”
(9)相關提示資訊含義
衝突資訊
先更新資訊
小竅門:
如果推送時,拉取右上方顯示數字,則需要先拉取再推送。
五、SourceTree&Git部分名詞解釋
克隆(clone):從遠端倉庫URL載入建立一個與遠端倉庫一樣的本地倉庫
提交(commit):將暫存檔案上傳到本地倉庫(我們在Finder中對本地倉庫做修改後一般都得先提交一次,再推送)
檢出(checkout):切換不同分支
新增(add):新增檔案到快取區
移除(remove):移除檔案至快取區
暫存(git stash):儲存工作現場
重置(reset):回到最近新增(add)/提交(commit)狀態
合併(merge):將多個同名檔案合併為一個檔案,該檔案包含多個同名檔案的所有內容,相同內容抵消
抓取(fetch):從遠端倉庫獲取資訊並同步至本地倉庫
拉取(pull):從遠端倉庫獲取資訊並同步至本地倉庫,並且自動執行合併(merge)操作,即 pull=fetch+merge
推送(push):將本地倉庫同步至遠端倉庫,一般推送(push)前先拉取(pull)一次,確保一致
分支(branch):建立/修改/刪除分枝
標籤(tag):給專案增添標籤
工作流(Git Flow):團隊工作時,每個人建立屬於自己的分枝(branch),確定無誤後提交到master分枝
終端(terminal):可以輸入git命令列
正文:
首先我在網上百度了一下git,發現是需要收費的,就找了一箇中國自己的開源中國程式碼託管平臺 碼雲(http://git.oschina.net/),支援一下國產,現在發現挺好用的,就安利一下。
先在碼雲上註冊自己的賬號,然後建立專案
現在就可以在專案管理裡面把自己團隊人拉進來啦!
在這裡再推薦一個軟體,圖形化git遠端管理軟體:Sourcetree,有人說github也挺好用的,但是前幾天我百度的時候說github是要收費的,我就沒有用,後來又有同學說github不收費,我也沒驗證過,如果那個不收費的話也可以使用github,看個人愛好吧,特別是喜歡打命令列的人,下面就可以不用看了。
先下載Sourcetree,我下載的時候Sourcetree最新版安裝的時候就需要註冊,而它註冊又需要翻牆,於是我就下載了一個低版本的,安裝的時候不需要註冊。但是它居然不註冊只有30天的使用時間,當時我是崩潰的,所以大家如果可以翻牆的話就先翻牆下載最新版的註冊安裝吧,廢話不多說,現在開始配置sourcetree。
首先開啟sourcetree軟體
點選Terminal(命令列)
輸入
git config –global user.name “你的名字或暱稱”
git config –global user.email “你的郵箱”
進行git的初始配置
進行ssh金鑰配置輸入
ssh-keygen -t rsa -C “你的郵箱”
這裡你的郵箱最好輸入你註冊碼雲時候的郵箱吧
然後敲擊4次回車,成功
向sourcetree匯入ssh金鑰
開啟sourcetree軟體,點選工具-》選項,將配置改成如圖所示
SSH金鑰只需點選一下輸入框,應該就可以自動尋找出你的ssh所在地
確定之後開啟那個顯示的ssh所在地,將那個pub字尾的檔案右鍵用記事本開啟,將裡面的東西複製下來,開啟碼雲,點選個人資料,進入個人中心,點選SSH公鑰,將自己剛才複製的東西貼上到指定位置,上面的標題可以隨便寫。
最後,回你的專案首頁,將專案的ssh地址複製下來,開啟sourcetree,點選克隆,就可以將剛才的ssh地址複製到URL中,目標路徑你先在你想要的專案位置新建一個空的資料夾,然後選擇那個資料夾,點選確定,現在你的專案就可以遠端傳輸了,你在本地那個資料夾中做的任何修改都會出現在軟體的工作副本中,想要上傳的修改你就可以提交到雲端,你也可以從雲端拉取別人的修改,實時進行同步,防止幾個人的程式碼出現不相容。
好了,教程就到這裡,只是給學生團隊和新手看看,大牛們歡迎指導,謝謝大家!!哈哈
1.SourceTree 是什麼?
- SourceTree 是 Windows 和Mac OS X 下免費的 Git 和 Hg 客戶端,擁有視覺化介面,容易上手操作。同時它也是Mercurial和Subversion版本控制系統工具。支援建立、提交、clone、push、pull 和merge等操作。
- 特點:分散式
- 優點:就是當前寫完了程式碼, 提交到本地倉庫後, 不用害怕丟失, 而且也可以做版本的記錄, 如果將來有一天想找回幾天前的程式碼, 也是可以的.
- 備註:程式碼的合併是從遠端倉庫拉取下來別人新寫的程式碼, 然後在本地倉庫進行合併(以及如果有衝突由程式設計師解決)
2.Sourcetree && Git 部分名詞解釋
1.克隆(clone):從遠端倉庫URL載入建立一個與遠端倉庫一樣的本地倉庫
2.提交(commit):將暫存檔案上傳到本地倉庫(我們在Finder中對本地倉庫做修改後一般都得先提交一次,再推送)
3.檢出(checkout):切換不同分支
4.新增(add):新增檔案到快取區
5.移除(remove):移除檔案至快取區
6.暫存(git stash):儲存工作現場
7.重置(reset):回到最近新增(add)/提交(commit)狀態
8.合併(merge):將多個同名檔案合併為一個檔案,該檔案包含多個同名檔案的所有內容,相同內容抵消
9.抓取(fetch):從遠端倉庫獲取資訊並同步至本地倉庫
10.拉取(pull):從遠端倉庫獲取資訊並同步至本地倉庫,並且自動執行合併(merge)操作,即 ** pull=fetch+merge **
11.推送(push):將本地倉庫同步至遠端倉庫,一般推送(push)前先拉取(pull)一次,確保一致
12.分支(branch):建立/修改/刪除分枝
13.標籤(tag):給專案增添標籤
14.工作流(Git Flow):團隊工作時,每個人建立屬於自己的分枝(branch),確定無誤後提交到master分枝
15.終端(terminal):可以輸入git命令列
3.使用Sourcetree
1.第一步:安裝
(1).圖示:
(2).不建議在appstore直接搜尋下載SourceTree,因為appstore裡的版本已經十分老舊(好像是2012年更新的)。建議前往官網下載安裝最新版,這裡提供一個SourceTree for Mac V2.0.5.2的百度雲的方便連結。 傳送門→SourceTreeDownload 或者http://pan.baidu.com/s/1sjWOn9b
(3).如果看到下面這個介面就說明安裝成功
2.以開源中國為例作為伺服器程式碼託管
(1).先註冊開源中國,然後登入,拉到最下面點友情連結的第三個“碼雲”
螢幕快照 2016-08-26 上午10.45.43.png
或者直接戳這http://git.oschina.net 然後註冊登入,介面如下:
然後會給你註冊時候的郵箱,傳送一個驗證郵件,註冊一下
然後點選連結,會跳轉到主頁
備註:已註冊的童鞋忽略這一步
(2).建立專案
1).如果你是專案的創始人(小紅), 那麼你就點選專案(進行建立)
第一步, 建立專案
-
專案建立成功, 如下圖
- 因為我建立的私有專案(如果是私有專案, 則執行下面這步, 如果不是則略過下面這步(步驟3.x))
(3.1)點選右上角管理
(3.2)點選新增專案成員, 我這裡另一個(小明)是[email protected]
這裡說一下:
管理員: 最高許可權
開發者: 可以上傳或者克隆(下載)程式碼 (一般給予這個許可權)
觀察者: 只能下載, 無法上傳
報告者: 只能看, 和評論, 什麼也不能幹!
(3.3)輸入對方oschina郵箱賬號, 然後給予許可權
回到專案首頁(注意是點你的專案, 例如我這裡是a1209woshi)
- 回到SourceTree, 新建本地倉庫
填寫克隆URL地址如果是第一次使用SouceTree(並且是私人專案), 會彈出讓你輸入你的oschina賬號和密碼(小紅) 上傳專案到遠端倉庫(供別人(小明)下載)
(6.1) 找到本地倉庫資料夾(我的在桌面)(6.2) 然後看工作區有變化, 然後把未暫存檔案, 放入已暫存檔案區中.
(6.3) 這裡說一下, Git的工作原理圖(6.4) 然後commit(提交)到本地倉庫分支中
(6.5) 養成一個好習慣, 先從遠端倉庫拉去一下, 然後在本地合併好了, 然後再推送回到遠端倉庫中, (也就是說, 合併程式碼是在本地進行的) (注: 如果你不拉取, 很容易把別人剛提交的程式碼, 頂掉)
(6.6) 回到網頁上去看看, 重新整理下, 會看到我剛傳的專案別人如何拉取這個專案, 把HTTPS克隆網址給他(如果是私有專案, 請確定把對方oschina賬號新增到你的專案中了)
(7.1) 同樣, 從URL克隆(新建本地倉庫)(7.2) 然後填入克隆網址, 然後選擇本地倉庫位置
(7.3) 進入到工作區之後, 因為我是要克隆程式碼從遠端倉庫到本地, 所以直接點選拉取
(7.4) 你會驚奇的發現, 本地倉庫裡, 已經有了遠端倉庫的東西啦!!(以後再寫好程式碼, 只需要執行第6步)就可以了, 這樣就可以方便和別人進行團隊協作開發了)
4.用x-code管理程式碼
5.Sourcetree介面( 未整理)
螢幕快照 2016-06-02 下午9.28.00.png1.左上角工作副本:
即本地倉庫的工作區,在這當中可以看到修改了那些檔案,在哪個地方改的。
2.左邊的分支:
這裡展示的即本地倉庫的分支;master是總分支,2.6.1wzx_dev是表示租車這個分支,wzx_dev是醫療直通車的分支...
3.左邊的遠端是遠端倉庫:
可以看到另外兩個小夥伴的遠端倉庫分支
4.一般先把工作副本的東西提交,提交到本地的當前分支的快取區;然後抓取所有遠端(拉取是抓下所有分支並且直接合並),然後再合併(有時會出現衝突,使用工具Araxis Merge)相對應想合併的分支,最後再推送到自己在伺服器(如在開源中國上已經建立好的遠端倉庫)上的遠端倉庫。
5.在目錄的分支中建立新分支
souretree的使用及流程總結
下載
//1.先建立自己的本地分支(點選分支建立)
2.註冊好開元中國賬號後,複製要克隆的那個專案的地址(有兩種)
3.開啟SourceTree點選新倉庫(從URL克隆),直接貼上地址;點選目標路徑會自動補全(地址可選),顯示藍色,直接克隆—>建本地倉庫
4.然後雙擊進入新頁面即工作區
上傳:
5.點選副本,然後點在finder中開啟,把自己的專案拖入該路徑的空白處(若有為暫存的則把他提交再在Finder中開啟)即將專案扔到本地倉庫;然後看到工作區有變化,放入已暫存的檔案區中,然後提交到本地分支上(即本地倉庫)
6.提交到本地後會提示你推送到遠端;養成好習慣,先從遠端拉取一下,然後合併好了再推送到遠端倉庫(合併程式碼是在本地完成的,有衝突用工具解決);然後就可以在伺服器上看到傳的程式碼了
1.獲取新的程式碼:先抓取再合併 然後提交到本地庫?;每次抓取新的程式碼和提交時都要合併一下