如果使用過svn的話,git大致可以認(rèn)為是多了本地庫的svn。git先本地提交commit到本地庫,然后再push到遠(yuǎn)程服務(wù)器的庫。
git是分布式的代碼管理工具,基于SSH協(xié)議。ssh的作用就是為了不用每次都輸入賬號和密碼。
生成的ssh密鑰,分為公鑰和私鑰。公鑰就是所要添加的ssh key(.pub文件)。公鑰可以看成是一個鎖頭,私鑰就是對應(yīng)的鑰匙。生成的ssh密鑰是可以用到不同的地方的,比例同時添加到github,coding的平臺。
沒有g(shù)ithub賬號的,先注冊一下https://github.com/
github的ssh配置如下:
一 、在終端中設(shè)置git的user name和email:
git config --global user.name "wurs"
git config --global user.email "522970682@qq.com"
下面指令可以進入當(dāng)前用戶目錄,~在終端中是指當(dāng)前用戶的目錄,即/users/你的用戶名,這樣一個目錄。(用戶的文件基本上都是用該目錄下,包括下載、桌面等目錄。)
cd ~
執(zhí)行下面指令查看當(dāng)前目錄
pwd

執(zhí)行如下命令,能查看是否配置成功:
cat .gitconfig

sourceTree對應(yīng)的位置:(知道一下就行,后面再學(xué)習(xí)sourceTree)

二、生成SSH密鑰過程:
1.終端中執(zhí)行如下命令,進入.ssh文件夾,查看是否已經(jīng)有了ssh密鑰:
cd ~/.ssh
如果沒有密鑰則不會有此文件夾,有則備份刪除
2.生成密鑰:
ssh-keygen -t rsa
Enter file in which to save the key (/Users/rason/.ssh/id_rsa):
這里是輸入文件名,直接回車的話,則使用默認(rèn)名id_rsa。
Enter passphrase (empty for no passphrase):
這里是輸入密鑰密碼,直接回車的話,密碼為空。
Enter same passphrase again:
這里是再次輸入密鑰密碼,直接回車的話,密碼為空。該密碼就是使用該密鑰所需要輸入的密碼。
以上可以直接3個回車,則密碼為空,生成文件名為id_rsa的兩個文件。
Your identification has been saved in /Users/rason/.ssh/id_rsa.
Your public key has been saved in /Users/rason/.ssh/id_rsa.pub.
The key fingerprint is:
………………
看到如上提示,說明已經(jīng)生成成功。
ssh-keygen -t rsa生成的文件會在如下目錄中:
cd ~/.ssh
進入.ssh目錄后,執(zhí)行如下命令,可以在finder中查看生成的文件。
open .
3.添加該密鑰:ssh-add -K 文件名
ssh-add -K id_rsa
需要之前輸入的密碼,文件名為之前輸入的文件名,若之前是直接輸入回車,則默認(rèn)文件名為id_rsa。(若不是當(dāng)前目錄,文件名記得要帶上路徑)
執(zhí)行如下命令,可以查看當(dāng)前文件
ls

4.查看公鑰,并復(fù)制紅色部分
cat id_rsa.pub

5.在github上添加ssh密鑰,這要添加的是“id_rsa.pub”里面的公鑰,就是剛才紅色部分。
打開https://github.com/ ,登錄之后,點擊右上角的頭像里面的setting,然后左邊欄中點擊SSH and GPG keys,然后是New SSH key,添加進去即可。

6.測試是否連接成功:ssh git@github.com
PTY allocation request failed on channel 0
Hi air1120! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.
有以上信息,說明已經(jīng)成功。
三、github的創(chuàng)建項目的演示(視頻) <---看完左邊這個視頻
https://github.com/ 登錄之后,創(chuàng)建githubCreate
把項目拉下來,當(dāng)前終端的目錄在哪里,項目就會被拉取到哪個目錄下。
git clone git@github.com:air1120/githubCreate.git
已經(jīng)成功拉下來了。
四、剛才已經(jīng)通過git clone拉取了源碼,終端繼續(xù)輸入
cd githubCreate
open .

能看到已經(jīng)拉取成功

接下來是創(chuàng)建xcode項目,并添加到該git項目中,查看在線視頻
1.已經(jīng)成功把遠(yuǎn)程的庫,拉取到本地。
2.現(xiàn)在需要創(chuàng)建一個新的項目,并push到github上。
3.需要知道的一些基本的操作
- 查看倉庫的當(dāng)前狀態(tài),查看當(dāng)前文件的修改情況。(這步一般要檢查一下,防止手誤添加多余的文件)
git status
- 把某個文件保存到暫存區(qū)域。
git add 文件名
- 把所有文件保存到暫存區(qū)域
git add -A
- 提交暫存區(qū)域的修改到本地庫
git commit -m "修改內(nèi)容"
- 查看commit的操作日志,看下是否已經(jīng)成功
git log
- 恢復(fù)某個文件的修改,若存在暫存區(qū)域的話,就恢復(fù)到暫存區(qū)域的狀態(tài),若不存在暫存區(qū)域的話,就恢復(fù)到本地庫的狀態(tài)。
git checkout 文件名
- 下面的.是表示所有文件
git checkout .
- 若存在暫存區(qū)域,就是工作區(qū)與暫存區(qū)域的具體差異,若不存在暫存區(qū)域,則是工作區(qū)與本地庫的具體差異。
git diff