二. 常見命令git
# 顯示隱藏文件github
$ defaults write com.apple.finder AppleShowAllFiles Yes && killall Finderxcode
# 不顯示隱藏文件服務器
$ defaults write com.apple.finder AppleShowAllFiles No && killall Finderapp
單人開發編輯器
1. 初始化git本地倉庫:git init (.git隱藏文件, 不要輕易亂動) 在對應目錄中執行此行終端命令svn
2. 建立文件 : touch Car.hspa
3. 查看文件狀態 : git status.net
4. 添加到git版本控制中: git add Car.h版本控制
5. 添加多個文件到git版本控制中 : git add .
6. 提交代碼 : git commit -m "註釋"
紅色文件: 文件沒有被歸入到git管理中 / 文件被修改了 / 文件發生了衝突
綠色文件: 文件加入到了'暫存區'
三. 配置帳號信息 (通常來說只須要配置一次全局的帳號便可)
配置局部信息
1. 用戶名 : git config user.name "tangseng" (區分誰開發的)
2. 郵箱信息 : user.email "tangseng.xitian.com" (用於聯繫開發者)
配置全局信息
1. 用戶名: git config --global user.name "wukong"
2. 郵箱信息: git config --global user.email "wukong.huaguoshan.com"
注意:
1. 若是沒有配置過帳號信息, 那麼git會有一個默認的帳號信息
2. 若是配置的是全局的信息, 那麼在finder --> 前往 --> 我的 --> 隱藏文件.gitconfig . 全局信息將會寫入到這個文件內
3. 若是沒有配置局部信息, 會用默認的全局信息來提交. 局部若是配置過了, 那麼將會使用局部配置的信息
四. 查看日誌
1. 查看日誌 : git log
2. 版本號 : 40位, 哈希值 . 哈希值是惟一的, 只要服務器看見版本不同就能夠提交到遠程服務器
3. 加強版log : 配置帶顏色的log別名 提供版本號的前七位
$ git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
五. 起別名
配置局部命令別名 :
1. 查看狀態: git config alias.st "status" -->
.後面的字符,表明未來要簡寫的命令. 雙引號內的字符, 表明着原來指令的全稱
2. 提交內容: git config alias.ci "commit -m"
配置全局命令別名 :
1. 查看狀態: git config --global alias.st "status" -->
.後面的字符,表明未來要簡寫的命令. 雙引號內的字符, 表明着原來指令的全稱
2. 提交內容: git config --global alias.ci "commit -m"
六. 版本回退 / 版本穿梭
若是文件已經被commit 能夠經過git reset --hard HEAD^回退
1. 版本回退: git reset --hard HEAD^ --> 一個^表明一個版本
2. 指定版本 : git reset --hard 8308f01 --> 後面拼接7位的版本號
若是文件沒有commit
1. 回退到當前最高版本: git reset --hard HEAD
2. 檢出當前分支的最高版本: git checkout Car.h (git中 checkout能夠作revert的操做, 也就是版本回退)
七. 查看修改參考日誌
若是git回到了早期的版本, 那麼後面的那些版本將不存在.
若是此時有需求, 須要回退到以前的時候, 那麼能夠經過 git reflog 來查看以前
每一次的修改日誌版本. 此時就能夠經過記錄的版本進行回退了.
補充:VIM編輯器
想輸入內容: i (同時底部會出現INSERT字樣)
退出編輯: esc
退出編輯器: shift + : , 輸入wq. 保存退出
#pragma mark 4. Git工做原理(理解)
1. Git本地目錄分爲 工做區和版本庫
2. 版本庫包含3個東西:
暫存區 --> 文件只要發生了改動, 就會在暫存區
master --> 至關於svn的trunk目錄, master是git建立的第一個分支
HEAD指針 --> 隱藏看不見的, 默認指向master分支
3. Git的add和commit原理
add : 添加到暫存區
commit : 添加到本地master分支
push : 將master分支代碼提交給服務器
#pragma mark 5. Git多人開發(掌握)
服務器地址: Git的服務器 , 文件夾, U盤, 雲盤
一. 初始化服務器
1. 初始化服務器 : git init --bare
2. 克隆代碼(下載) : git clone /Users/dream/Desktop/Git/service
二. 設置忽略文件
1. 先去Github, 搜索.gitignore, 而後找到OC的忽略文件
2. 拷貝全部內容, 來到終端
3. echo -e "(com + V 輸入粘貼內容)" > .gitignore
4. 保證.gitignore 跟.git在同一目錄下 (.git這個目錄纔是git管理的目論)
5. 將.gitignore推送給遠程服務器 add / commit / push (必定要在建立項目以前)
6. 推送本地分支代碼給服務器: git push
三. 使用xcode建立項目
1. 若是目錄以及包含了.git的管理, 那麼xcode建立項目時, 底部的git沒法勾選
2. xcode幫咱們作了add, 因此, 直接commit 而後push便可
四. 新人加入開發
1. 克隆服務器代碼: git clone /Users/dream/Desktop/Git/service
2. 必定記得, 在commit以前配置帳號信息 (這裏只是爲了演示多人開發, 因此會配置局部帳號. 開發中不須要這樣作)
3. 若是想要拿到分支最新代碼, 應該執行: git pull
五. 代碼衝突
1. 兩我的都要commit過代碼,一個已經push, 令一個pull, 此時可能就會發生衝突
2. 若是發生了衝突, 按照svn的方式解決: 選中?, 而後點擊底部的四個小按鈕, 最後點擊pull
3. pull以後, 還須要進行commit 和 push. 其餘人pull纔會代碼同步
六. 界面衝突
1. 若是發生了衝突, 通常保留全部代碼(選中?, 而後點擊底部的四個小按鈕)
2. 須要打開SB/Xib查看, 若是發生了衝突, 會提示錯誤出如今哪裏行中, 而後自行比較缺失的代碼, 進行填補
3. 填補完成, 再次打開就OK. 若是還有錯誤, 繼續2,3步.
#pragma mark 6. Xcode集成Git(掌握)
1. xcode, commit會作兩件事: add / commit
2. 若是commit時, 勾選了左下角的push to remote , 勾選了此按鈕, 那麼提交時作三件事 : add / commit /push
3. 若是是使用xcode在參加項目時, 就勾選了git控制, 默認會幫咱們添加好忽略文件
#pragma mark 7. Git遠程服務器-OSChina(掌握)
git.oschina.net --> github.com 翻版
Github / oschina 上的ReadMe文件, 使用的語法是Markdown
1. 註冊帳號, 而後參加項目, 填寫項目名/忽略文件/許可協議/RemdeMe文件
2. 直接拷貝https://的網址, 本地進行clonge
3. 在此項目文件夾內, 參加項目, 並提交 .push時須要帳號和密碼
(帳號: 在oschina上的用戶名 - 密碼, 是oschine登錄密碼)
4. 若是未來多人蔘與開發, 那麼能夠點擊右上角的管理, 進行團隊開發人員的權限控制
#pragma mark 8. Git分支管理(理解)
一. 分支的使用
1. xcode --> source control --> master --> new branch --> 一旦完成操做, 會自動切換到分支下.
2. 主分支和分支能夠隨時切換, 分支開發的功能, 不會提交到主分支上
3. 若是要合併代碼, 好比選中了分支 --> source control --> Merge info barnch .
4. merge時, xcode會提示分支發生哪些變化, 能夠用下面小按鈕來選擇是否要是否用分支的代碼. (若是要使用, 默認不用改).
5. 若是分支選擇了Merge info barnch, 合併成功後, 會自動切換到master分支下
分支使用舉例: 好比公司有個模塊, 技術實現能夠有3種, 那麼咱們能夠在分支上實驗, 若是實驗成功再合併, 若是實現不成功, 分支能夠直接刪除.
二. tag 打標記
使用tag,就可以將項目快速切換到某一箇中間狀態,例如產品開發線上的某一個穩定版本
1. 查看當前標籤: git tag
2. 在本地代碼庫給項目打上一個標籤: git tag -a v1.0 -m 'Version 1.0'
3. 將標籤添推送到遠程代碼庫中: git push origin v1.0
4. 簽出v1.0標籤: git checkout v1.0
5. 從簽出狀態建立v1.0bugfix分支: git checkout -b bugfix1.0
#pragma mark - 二. 支付寶
#pragma mark 1. 支付寶流程介紹 (瞭解)
#pragma mark 2. 支付寶集成(掌握)
1. 網址: http://open.alipay.com
2. 參照文檔集成便可