SVN 和 Git的簡單使用


一、SVN的基本使用:

CornerStoneMac OS X系統下非常好用的一款svn工具,至XCode5之后,本人覺得XCode5Svn實在讓人不得要領,而CornerStone配置雖不難,但也有幾個需要注意的地方,分享給大家,也希望大家能多提意見。

已經安裝了的小伙伴請直接看三步驟:

一、下載地址

CornerStoneV2.6http://pan.baidu.com/s/1qWEsEbM ,密碼:www.macx.cn

二、安裝破解方法

1、安裝之前將本機日期改為未來的某個日期,然后雙擊安裝,按照指定流程操作即可

2、如果安裝前忘記改日期,則只能通過修改plist的方式進行破解

a.顯示系統隱藏文件,打開終端,輸入,回車

defaults write ~/Library/Preferences/com.apple.finder AppleShowAllFiles -bool true

b.重啟Finder按住Command+Option+esc打開對話框,選中Finder,點擊重新開啟

c.Finder中前往~/Library/Preferences/ByHost,找到其中的GlobalPreferences.…….plist文件,刪掉包含有"com.zennaware.Cornerstone"字樣的這一行,即清除了安裝記錄

d.清除安裝記錄之后,如果這時電腦中沒有CornerStone,則按照1步驟進行安裝,如果已經安裝,則卸載后按照1過程再次安裝,即得到永久破解版

三、添加repository

點擊左側欄中REPOSITORY那一欄的+選擇添加repository

如果你公司的給你的repository地址為svn://開頭,則選擇SVN Server,如果為Http://https://開頭,則選擇HTTP Server

1.SVN配置

假設你公司svn地址為:svn://192.168.1.111/svn/ios,用戶名:svnserver,密碼:123456

1:填寫主機地址

2:如果你的主機地址中有端口號,如為192.168.1.111:8080,則2中填寫8080

3:填寫主機后面的路徑

4:自動生成,如果你填寫完之后不是這種svn://用戶名@主機地址:端口號/路徑的格式,則說明填寫有誤

5:也會自動生成,將會在側邊欄顯示為5中的名稱,可以自定義名稱

6:用戶名

7:密碼

以上信息填寫無誤之后選擇添加即可,如遇添加失敗,信息填寫無誤,則聯系管理員,查看地址,用戶名,密碼是否正確

2.HTTP配置

svn一樣,只有一個地方需要注意,如果地址是https://,則需修改下圖所示位置的選項為HTTPS,否則也會添加失敗

四、使用簡介

1.上傳項目到repository

可以直接拖動到repository的子文件夾中,或是選擇軟件上方的Import按鈕上傳,會彈出選項填寫所在位置及名稱,然后選擇Import即可

2.下載項目

下載分為兩種:ExportCheck Out,區別在於,Export后的項目不會與repository中的源文件相關聯,是一個獨立的版本,而Check Out下來的文件會創建一個working copy,參見步驟三的第一幅圖,此文件與庫中源文件相關聯,當有新版本(他人修改)或是本地修改(自己修改)時,working copy會顯示修改數量,白色數量為他人修改數量,灰色數量為本人修改數量

所以如果你是項目中的開發人員,可以選擇checkout,如果只是下載查看,不希望自己的修改影響到整個項目,最好是選擇Export

3.版本管理

每一次提交會創建一個新版本,在repository中會保存所有歷史版本,如下圖(可通過修改人及提交信息進行檢索版本),所以用svn開發可以很好的控制項目出現不可解決及未知bug時代碼的修復問題:


svn方便了多人開發同一項目的代碼合並問題,但是也有一些事項需要注意:

①先更新后提交

在看到有新版本(即同伴已經提交代碼時),先更新代碼,直至working copy不再顯示白色圈,然后運行代碼確定可運行且功能無誤之后再commit自己的代碼,否則,會造成項目中出現多處沖突或bug,且很難排查原因

②完成獨立功能后再提交,且務必填寫提交信息

每完成一個獨立的功能,或解決一個bug之后再提交代碼,不要連續多次重復提交,造成版本過多過雜,且提交時務必填寫提交信息,交代本次完成了什么功能,方便上圖中可以進行message的搜索來查看歷史版本

③沖突文件

原則上同一組開發人員最好不要在同一文件中進行操作,但有時候必須去其他文件中進行操作,或者是誤操作,如果同時多人在同一文件的同一位置修改代碼,后提交的人會出現版本沖突文件,一般會有三個同樣名稱不同后綴的文件

.mine文件:本人所做修改

兩個.r0XX文件:XX為數字,數字較小的為更改前的文件,較大的為更改后的文件,在文件中會有<<<< mine .r0XX  >>>>>等字樣包含起來的代碼,即沖突的地方,此時請和組內同事討論或自己刪除某部分修改文件后進行調試,修復文件

針對ios項目:出現某個工程或文件打不開的情況,如果為.project文件無法打開,則選擇顯示包內容->用文稿打開project.pbxproj文件->搜索.mine,將.mine部分前后<<<< >>>>包含起來的代碼刪除,工程就可以打開了,如果build時出現某個xib文件打不開的錯誤,則選中,用文稿打開,跟上文同樣操作即可解決無法build的問題

④新添加文件

提交時新增加的文件顯示為問號狀態的,請選中右擊后選擇Add to Working Copy之后再commit

CornerStone使用教程(配置SVN,HTTP及svn簡單使用)


二、Git的基本使用:

github和svn一樣是一個代碼的托管平台,是分布式版本控制系統。

在終端的使用:

注冊賬號:

        首先你要GitHub的賬號

然后創建ssh:

       # 切換目錄,MAC中目錄的第一個字符如果是 `.` 表示改文件夾是隱藏文件夾

      打開終端:$ cd ~/.ssh   //檢查是否已經存在有ssh

      #查看當前目錄文件:ls

      如果存在先將已有的ssh備份或者把新建的ssh生成到另外的文件目錄下

      # 生成 RSA 密鑰對
       # 1> "" 中輸入個人郵箱(注冊github時的郵箱)
       # 2> 提示輸入私鑰文件名稱,直接回車
       # 3> 提示輸入密碼,可以隨便輸入,只要本次能夠記住即可
      $ ssh-keygen -t rsa -C "xxx@126.com"
      # 查看公鑰內容
      $ cat id_rsa.pub

在github中添加ssh        登陸github,選擇Account Settings-->SSH  Keys 添加ssh        Title:xxxxx@gmail.com        Key:打開你生成的id_rsa.pub文件(公鑰內容),將其中內容拷貝進去

測試公鑰:
         打開終端,先測試一下你的帳號跟github連上沒有 ssh -T git@github.com 如果出現如下提示,表示你連已經連上了.(因為有了第一步,所以不用自己 做過多的連接github的操作了,另外,下一次要連接github的時候記得打開第一步的工具)

Hi MiracleHe! You've successfully authenticated, but GitHub does not provide shell access.

新建項目:Create a New Repository



按照上面的步驟來就行了(注意記得在終端中輸入時把目錄切換到你要上傳的工程目錄下)。簡單分析下上面的步驟:

 

touch README.md //新建一個記錄提交操作的文檔
git init //初始化本地倉庫
git add README.md //添加
git commit -m "first commit"//提交到要地倉庫,並寫一些注釋
git remote add origin git@github.com:youname/Test.git //連接遠程倉庫並建了一個名叫:origin的別名
git push -u origin master //將本地倉庫的東西提交到地址是origin的地址,master分支下

//克隆項目:git clone XXXXXX

//添加gitignore   去github下載,然后放到文件夾中,去掉前面的object-C,剩下.gitignore即可

顯示Mac隱藏文件的命令:defaults write com.apple.finder AppleShowAllFiles YES

隱藏Mac隱藏文件的命令:defaults write com.apple.finder AppleShowAllFiles NO

注:可以從 https://github.com/github/gitignore 獲取最新版本的 gitignore 文件
添加 .gitignore 文件之后,每次提交時不會將個人的項目設置信息(例如:末次打開的文件,調試斷點等)提交到服務器,在團隊開發中非常重要


如果輸入$ git remote add origin git@github.com:djqiang(github帳號名)/gitdemo(項目名).git 

    提示出錯信息:fatal: remote origin already exists.

    解決辦法如下:

    1、先輸入$ git remote rm origin

    2、再輸入$ git remote add origin git@github.com:djqiang/gitdemo.git 就不會報錯了!

    3、如果輸入$ git remote rm origin 還是報錯的話,error: Could not remove config section 'remote.origin'. 我們需要修改gitconfig文件的內容

    4、找到你的github的安裝路徑,我的是C:\Users\ASUS\AppData\Local\GitHub\PortableGit_ca477551eeb4aea0e4ae9fcd3358bd96720bb5c8\etc

    5、找到一個名為gitconfig的文件,打開它把里面的[remote
"origin"]那一行
刪掉就好了!

    如果輸入$ ssh -T git@github.com
    出現錯誤提示:Permission denied (publickey).因為新生成的key不能加入ssh就會導致連接不上github。

    解決辦法如下:

    1、先輸入$ ssh-agent,再輸入$ ssh-add ~/.ssh/id_key,這樣就可以了。

    2、如果還是不行的話,輸入ssh-add ~/.ssh/id_key 命令后出現報錯Could not open a connection to your authentication agent.解決方法是key用Git Gui的ssh工具生成,這樣生成的時候key就直接保存在ssh中了,不需要再ssh-add命令加入了,其它的user,token等配置都用命令行來做。

    3、最好檢查一下在你復制id_rsa.pub文件的內容時有沒有產生多余的空格或空行,有些編輯器會幫你添加這些的。

    如果輸入$ git push origin master

    提示出錯信息:error:failed to push som refs to .......

    解決辦法如下:

    1、先輸入$ git pull origin master //先把遠程服務器github上面的文件拉下來

    2、再輸入$ git push origin master

    3、如果出現報錯 fatal: Couldn't find remote ref master或者fatal: 'origin' does not appear to be a git repository以及fatal: Could not read from remote repository.

    4、則需要重新輸入$ git remote add origingit@github.com:djqiang/gitdemo.git


本地創建一個項目的過程:

    $ makdir ~/hello-world    //創建一個項目hello-world
$ cd ~/hello-world //打開這個項目
$ git init //初始化
$ touch README
$ git add README //更新README文件
$ git commit -m 'first commit' //提交更新,並注釋信息“first commit”
$ git remote add origin git@github.com:defnngj/hello-world.git //連接遠程github項目
$ git push -u origin master //將本地項目更新到github項目上去

//刪除文件夾下的所有 .svn 文件

find . -name ".svn" | xargs rm -Rf //刪除文件夾下的所有 .git 文件 find . -name ".git" | xargs rm -Rf

參考文章:http://www.cnblogs.com/heyonggang/p/3462191.html

 git實戰:     http://www.jianshu.com/p/87e34894a9f9

git的分支管理:http://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%AE%A1%E7%90%86

http://zhidao.baidu.com/link?url=O3w20zmzCQigM6xLEzwLTq_lX8lq_QFIJ1z0zF7QLHPUK9HGtV6n2BfjPBmPvjCAi3c19HGx1PjIOgXfFoMxUvppXpeDi8x5R3YBZXo_Nha


SourceTree:http://www.myexception.cn/other/1997033.html



注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com