使用 SourceTree 管理ios項目


 SourceTree 是一個非常優秀的版本控制軟件,他是一個客戶端,方便我們去接入 GitHub 、BitBucke 上面托管的代碼。

聲明(1——4是來自簡書的非個人作品,僅僅保存資料學習使用)


一、SourceTree簡介

  SourceTree 是 Windows 和Mac OS X 下免費的 Git 和 Hg 客戶端,擁有可視化界面,容易上手操作。同時它也是Mercurial和Subversion版本控制系統工具。支持創建、提交、clone、push、pull 和merge等操作。

二、SourceTree基本使用

(以下以SourceTree For Mac V2.0.5.2中文版為例,托管平台以Github為例)

  1. 基本安裝
    1.1. 下載SourceTree並安裝到Mac上。
    1.2. 拖動安裝,Launchpad中打開,continue,輸入github賬號按下一步完成即可。沒有Github賬號的朋友,也可以跳過本步驟完成安裝

  2. 注冊GitHub(已有Github賬號的朋友請跳過本步驟)
    2.1. 打開Github官網 傳送門→Github
    2.2. 填寫必要的信息,點擊sigh up for github


    Github Register 1


    2.3. 默認選中免費賬號,點擊綠色的Finish sign up即可


    Github Register 2
  3. 實踐入門-創建倉庫 clone&pull
    3.1. 創建倉庫
    用我們剛才創建的賬號登陸github,在歡迎頁點擊“+ New repository“創建我們的倉庫


    Create Repository 1


    或點擊右上角的“+”,然后再New repository亦可


    Create Repository 2


    3.2. 按照個人需要填寫倉庫名、倉庫描述等,建議勾選“Initialize this repository with a README”(注意此處免費賬戶只能選擇建立public(開源)倉庫),填寫完成后點擊Create repository


    Create Repository 3


    3.3. 至此,我們的倉庫已經創建成功。創建成功后,我們在頁面的右下角找到鏈接,點擊復制


    Copy Link


    3.4. 打開我們的SourceTree,點擊:“+新倉庫”,選擇:“從URL克隆”


    Clone 1


    3.5. 粘貼我們的倉庫鏈接至源URL,SourceTree會自動幫我們生成目標路徑(本地倉庫路徑)以及名稱,點擊克隆


    Clone 2


    3.6. 等待數秒后,SourceTree會為我們自動打開我們剛才克隆的倉庫,選擇master選項,這里我們可以看到我們倉庫里的所有文件


    MainPage


    3.7. 接下來我們想要上傳一個項目至我們的遠程Github倉庫內。我們點擊右上角“在Finder”中顯示。然后SourceTree會幫我們打開我們的本地倉庫,我們將需要上傳的項目復制到本地的Finder文件夾內,然后關閉文件夾,回到主頁面。我們會發現工作副本出現了更改提示


    Change Notification


    3.8. 我們點擊工作副本,然后我們發現我們剛才上傳的文件都在未暫存文件當中,此時,我們勾選“未暫存文件”


    工作副本 1


    3.9. 發現我們的文件變成了已暫存文件。此時,我們可以輸入更新信息,然后,點擊提交按鈕


    工作副本 2


    3.10. 我們切換回master分支,會發現master分支以及推送(Push)按鈕,都出現了更改提示。這表示SourceTree已經將我們剛才添加的文件成功提交到本地倉庫,而本地倉庫的內容則比遠程倉庫超前了一個版本。我們這個時候點擊推送(Push)即可將本地倉庫的內容同步至遠程倉庫。


    Branch Master


    3.11. 點擊推送(push),等待片刻即可,我們重新登錄github網站,會發現我們剛才本地倉庫的文件已經成功推送到遠程倉庫


    Push
  4. 實踐入門-參與開源 Fork&pull request
    (以下以 [https://github.com/octocat/Spoon-Knife] 舉例)
    4.1. 首先打開上述頁面,然后點擊右上角“fork”按鈕。fork意味着將他人的倉庫復制到我們賬號中。如果我們想要參與開源項目,首先要fork下別人的項目,然后在我們復制過來的倉庫中,對別人的代碼做修改。


    fork


    4.2. fork完之后,我們用上文提到的方法,將自己賬號中的[Spoon-Knife]倉庫克隆(clone)到本機SourceTree中,並在稍作更改后,推送(push)到自己賬號的遠程倉庫
     4.2.1 在SourceTree中建立新倉庫,並復制URL


    clone Spoon-Knife


     4.2.2 在本地倉庫中稍作更改(如圖我新建了一個Test)


    Example


     4.2.3 通過上文方法推送(Push),登陸Github,進入Spoon-Knife倉庫,發現test已經上傳到我們賬號的遠程倉庫Spoon-Knife當中


    Success


    4.3. 上傳完后,我們點擊Github branch旁的綠色按鈕


    Pull Request 1


    4.4. 之后我們會進入一個Compare頁面,這個頁面用於比較作者倉庫與我們倉庫的文件的不同。Base fork:指的是作者倉庫目錄地址;Head fork:指的是我們賬號中fork后所產生的倉庫地址。我們點擊Create pull request即可


    Compare


    4.5. 然后我們會進入一個Pull Request界面,在這里,我們可以輸入自己更改的原因/更改的內容。這里寫的文字會顯示給源代碼作者,如果作者接受了我們的推送請求(pull request)后,我們的代碼將會上傳到源代碼作者的倉庫內,成功為開源做貢獻。如果作者拒絕了我們的推送請求(pull request)后,我們的代碼將不會上傳到源代碼作者的倉庫內。


    Pull Request 2


    4.6. 我們點擊Create Pull Request即可,系統將自動跳轉到等待回復的頁面,這里會顯示作者是否接受我們的代碼更改。


    Pull Request 3

    三、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命令行

四、相關鏈接推薦

    1. →Github help for mac
    2. →Github help for win

  本篇博客以上部分來自互聯網,僅作為學習筆記記錄。參考          書上得來終覺淺,絕知此事要躬行。

http://www.cnblogs.com/wangkongming/p/4158664.html  如何提交代碼到gitHub 上

 

五、在 gitHub 上刪除一個開源項目

第一步:點開我們的項目,點擊 settings 按鈕

第二步:點擊下圖中 “Delete this repository” 按鈕

第三步:在下圖的輸入框中填寫你要刪除的項目的名稱

第四步:點擊確定刪除,然后就刪除了這個開源項目,回到倉庫目錄中發現已經刪除了

 

六、gitHub 與 SourceTree 結合使用的時候,需要的 SHH 文件的生成、安裝步驟:

在本地的倉庫里放入我們搭建好的框架后,提交代碼,然后要 Push 到遠程的服務器倉庫的時候,提示需輸入 SSH 秘鑰密碼的解決辦法:
我們需要 一個gitHub 能夠認證我們身份的安全文件,下面是發現或生成該文件步驟:
第一步:進入本機的.ssh文件夾,看是否有gitHub用於安全判定的 公鑰(id_rsa.pub)私鑰(id_rsa)
 
第二步:發現沒有的,我們就自己創建一份
打開終端 :

(1)執行ssh-keygen -t rsa 執行后,第一個命令提示按 回車跳過,第二個和第三個輸入自己能記住的密碼,用來登陸Git服務器。
(2)執行完畢后,用戶目錄下的.ssh文件夾會生成一個id_rsa和id_rsa.pub的文件,將id_rsa.pub發送給Git服務器的管理員,讓他添加到服務器列表中。
(3) 添加到服務器中,就可以開始正常使用Git了。

 

我們進入下面陰影部分的路徑里
這時候我們發下,依然找不到.ssh文件夾,是因為它默認是隱藏的,我們要執行下面命令,去顯示它

defaults write com.apple.finder AppleShowAllFiles -bool true

killall Finder

好了打開路徑可以看到要使用的文件了(將該文件復制到桌面,一會要使用的)

要隱藏本來是隱藏的文件夾使用命令行:

defaults write com.apple.finder AppleShowAllFiles -bool false 

killall Finder

將隱藏的文件隱藏住。

 不管是托管在公司的服務器上還是托管在GitHub 上的項目為什么要SHH呢?這是安全必須的,不然的話,任何人都能夠down commit后 push 那不就亂了嗎。

下面是最后一步,把公鑰的內容貼到Github賬號的ssh keys中,這樣就建立了本地和遠程的認證關系,當我們再push到遠程倉庫,會將你本地的公共密鑰與服務器的進行匹配,如果一致驗證通過直接推送更新。

本人建立了以上SSH 一對公鑰和私鑰,發現還是不能夠解決上面的問題,不能Push代碼到gitHub 上,后來發覺是SourceTree 配置的問題。

下面是解決如截圖的問題:

打開sourceTree的偏好設置:

在“網絡”里面主機名對應的是,托管代碼的服務器(這里就是 gitHub.com)用戶名就是:gitHub賬號

 

此外還要選擇“允許 sourceTree 修改你的 Git 和 Mercurial全局配置文件” 

好了,到這里,我們就能夠成功的經將代碼推送到我們的托管服務器上了。OK

如果在 sourceTree 里如果提示你要使用命令行去輸入你的用戶名,你的郵箱的話,可以在"設置"里修改用戶名和郵箱,設置后就能夠正常的提交代碼了。

參考  sourceTree使用:參考  git命令行:參考

 

使用 sourceTree 遇到沖突如何解決: 參考 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM