git 版本控制1

http://blog.csdn.net/yyh352091626/article/details/50714880


提起GitHub大家并不陌生,GitHub也算為“開(kāi)源”做出突出的貢獻(xiàn)了~?Git這種良好支持分支管理的分布式的SCM真正解決了一個(gè)問(wèn)題問(wèn)題:每個(gè)工程師在自己本地分支上開(kāi)發(fā),完成功能以后往master分支合并。

關(guān)于Windows下GitHub的一些使用,隨處可見(jiàn)。本文著重介紹如何在Mac OSX下上傳本地的項(xiàng)目源代碼至GitHub。

首先當(dāng)然是安裝Git工具。

1、下載Git installer,地址:http://git-scm.com/downloads

2、pkg包下載完成,雙擊安裝。

3、打開(kāi)終端,使用git --version命令查看安裝版本,能查看到就是安裝成功了(eg:git version 2.5.4 (Apple Git-61))。

接下來(lái)就是創(chuàng)建SSH。打開(kāi)終端,輸入以下命令來(lái)查看.ssh是否存在:

[plain]view plaincopy

$?cd?~/.ssh

若提示“-bash: cd: ~/.ssh: No such file or directory” 那就說(shuō)明.ssh文件夾不存在,那么則進(jìn)行下一個(gè)步驟,否則就是將原來(lái)的.ssh文件夾備份以下,亦或是切換到其他路徑下建立ssh。輸入以下命令來(lái)創(chuàng)建ssh:

[plain]view plaincopy

$?ssh-keygen?-t?rsa?-C?xxx@xx.com

xxx@xx.com為你注冊(cè)GitHub時(shí)的郵箱賬號(hào),命令執(zhí)行成功后,會(huì)有以下提示

[plain]view plaincopy

Generating?public/private?rsa?key?pair.

Enter?file?in?which?to?save?the?key?(/Users/yuyuhang/.ssh/id_rsa):???????//?.ssh默認(rèn)路徑,不輸入則不修改

Enter?passphrase?(empty?for?no?passphrase):??????????????????????????????//?密碼長(zhǎng)度至少為4,否則失敗

Enter?same?passphrase?again:

Your?identification?has?been?saved?in?/Users/yuyuhang/.ssh/id_rsa.

Your?public?key?has?been?saved?in?/Users/yuyuhang/.ssh/id_rsa.pub.

The?key?fingerprint?is:

8d:d3:5f:31:ae:13:48:f0:78:df:a1:8f:a5:a4:c0:06?352091626@qq.com

The?key's?randomart?image?is:

+--[?RSA?2048]----+

|????????.????????|

|?????????+???????|

|??????E?.?+???+??|

|???????o?*?o?+?+?|

|????????S?+?=?=??|

|???????.?o?+?O???|

|??????????.?*?.??|

|?????????????.???|

|?????????????????|

+-----------------+

接下來(lái)就是在GitHub上創(chuàng)建SSH。首先登陸你的GitHub,右上角用戶(hù)頭像下選擇Settings,在SSH Keys 選項(xiàng)里面添加ssh,如下所示。

Title:xxx@xx.com

Key:打開(kāi)你生成的id_rsa.pub文件(/User/yourname/.ssh/is_rsa.pub),將其中內(nèi)容拷貝過(guò)來(lái)。

值得一提的是,在Mac OSX下,隱藏文件默認(rèn)是不顯示的,可以通過(guò)以下命令來(lái) 顯示/隱藏 隱藏文件夾,當(dāng)然,熟悉Linux命令行操作的人,可以直接用vim命令打開(kāi),或者cat直接顯示。

[plain]view plaincopy

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

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

然后在GitHub上創(chuàng)建版本庫(kù)(Repository),在GitHub首頁(yè)上,點(diǎn)擊“Create a New Repository”,如下所示(為了便于后面演示,創(chuàng)建README.md這步暫不勾選):

創(chuàng)建完成后跳轉(zhuǎn)到代碼倉(cāng)庫(kù)界面,如下:

當(dāng)然了,在沒(méi)有上傳代碼之前,列表是空的。

緊接著按照以下步驟進(jìn)行本地倉(cāng)庫(kù)的創(chuàng)建及代碼上傳。打開(kāi)終端,輸入以下命令:

[plain]view plaincopy

$?touch?README.md?????????????????????????????????????????//新建一個(gè)README文檔,若上一步勾選了創(chuàng)建README.md,提交時(shí)導(dǎo)致沖突

$?git?init????????????????????????????????????????????????//初始化本地倉(cāng)庫(kù)

$?git?add?README.md???????????????????????????????????????//添加剛剛創(chuàng)建的README文檔

$?git?commit?-m?"你的注釋...."?????????????????????????????//提交到本地倉(cāng)庫(kù),并寫(xiě)一些注釋

$?git?remote?add?origin?git@github.com:yourname/xxxx.git??//連接遠(yuǎn)程倉(cāng)庫(kù)并建了一個(gè)名叫:origin的別名,當(dāng)然可以為其他名字,但是origin一看就知道是別名,youname記得替換成你的用戶(hù)名

$?git?push?-u?origin?master??????????????????????????????//將本地倉(cāng)庫(kù)的文件提交到別名為origin的地址的master分支下,-u為第一次提交,需要?jiǎng)?chuàng)建master分支,下次就不需要了

初始化完成之后,我們可以把我們項(xiàng)目的源代碼提交上去,使用git add命令,如下:

[plain]view plaincopy

$?git?add?系統(tǒng)簽名/??????????????????????????????????????//?添加需要提交的文件夾,使用git?add?.??則添加全部

$?git?add?assets/

$?git?add?project.properties

$?git?add?res/

$?git?add?src/

$?git?commit?-m?"上傳項(xiàng)目源代碼"?????????????????????????//?提交到本地倉(cāng)庫(kù)

$?git?push?origin?master???????????????????????????????//?將本地倉(cāng)庫(kù)合并到別名為origin地址的master分支下

顯示結(jié)果如下,則代碼上傳成功。

[plain]view plaincopy

Counting?objects:?63,?done.

Delta?compression?using?up?to?8?threads.

Compressing?objects:?100%?(53/53),?done.

Writing?objects:?100%?(63/63),?1.41?MiB?|?217.00?KiB/s,?done.

Total?63?(delta?16),?reused?0?(delta?0)

To?git@github.com:smuyyh/autoinstall.git

000a667..61357d8??master?->?master

刷新一下GitHub,則顯示剛剛提交的項(xiàng)目源代碼。

相關(guān)總結(jié)

1、要關(guān)聯(lián)一個(gè)遠(yuǎn)程庫(kù),使用命令git remote add origin git@server-name:path/repo-name.git;關(guān)聯(lián)后,使用命令git push -u origin master第一次推送master分支的所有內(nèi)容;此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;

2、切記上傳文件時(shí),一定要先commit到本地倉(cāng)庫(kù),才能進(jìn)行push提交,否則會(huì)顯示Everything up-to-date(意思就是目前的遠(yuǎn)程倉(cāng)庫(kù)的內(nèi)容跟本地倉(cāng)庫(kù)對(duì)比后,沒(méi)有做修改,是最新的);

3、初用Mac的童鞋可能還不知道終端在哪里,點(diǎn)擊Finder旁邊的Launchpad,在“其他”文件夾下。

4、在設(shè)置別名的時(shí)候,出現(xiàn)“fatal: remote origin already exists.”錯(cuò)誤,說(shuō)明該別名已經(jīng)存在,可以另外建一個(gè)別名,或者使用“git remote rm origin”命令刪除原來(lái)的別名,然后重新執(zhí)行“git remote add origin git@github.com:yourname/xxxx.git”;

5、在提交的時(shí)候,出現(xiàn)“error: failed to push some refs to 'git@github.com:xxx/xxx.git' hint: Updates were rejected because the remote contains work that you do not have locally....”的錯(cuò)誤,說(shuō)明有沖突,遠(yuǎn)程倉(cāng)庫(kù)的版本比本地倉(cāng)庫(kù)的要信,所以要先進(jìn)行更新,才能提交。使用“git pull git@github.com:xxx/xxx.git”命令進(jìn)行更新,地址自己相應(yīng)替換掉。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容