- 一 常見(jiàn)命令
- 1.初始化一個(gè)代碼倉(cāng)庫(kù)
git init
- 2.如果使用git必須給git配置一個(gè)用戶名和郵箱
給當(dāng)前的git倉(cāng)庫(kù)配置一個(gè)用戶名和郵箱
git config user.name “XXX”
git config user.email “XXX”
配置一個(gè)全局的用戶名和郵箱
git config —global user.name “XXX”
git config —global user.email “XXX” - 3.初始化項(xiàng)目
touch main.m : 創(chuàng)建了main.m
git add main.m : 將新添加的文件或者修改的文件添加到暫存區(qū)
git commit -m “初始化項(xiàng)目”
git add . : 將所有沒(méi)有被添加到暫存區(qū)或者代碼倉(cāng)庫(kù)的文件添加到暫存區(qū)
注意:無(wú)論是新添加的文件或者修改的文件,都需要先通過(guò)add命令添加到暫存區(qū)中,之后再通過(guò)commit命令添加到本地倉(cāng)庫(kù)中 - 4.查看文件的狀態(tài) git status
紅色 : 新創(chuàng)建的文件或者被修改的文件,沒(méi)有被添加到暫存區(qū)
綠色 : 表示文件在暫存區(qū),但是沒(méi)有被添加到本地倉(cāng)庫(kù)中 - 5.給命令起別名
git config alias.st “status”
git config alias.ci “commit -m”
git config —global alias.st “status” - 6.git刪除文件
git rm 文件名 - 7.查看版本號(hào)
git log
git reflog
git config --global alias.lg "log --color --graph - - 8.git的版本號(hào)是由sha1算法生成40位的哈希值
- 9.版本回退
git reset —hard HEAD : 回退到當(dāng)前的版本
git reset —hard HEAD^ : 回退到上一個(gè)版本
git reset —hard HEAD^^ : 回退到上上個(gè)版本
git reset —hard HEAD~100 : 回退到前100版本
git reset -hard 版本號(hào)(前5位)
- 二.團(tuán)隊(duì)開(kāi)發(fā)—共享版本庫(kù)
- 1.初始項(xiàng)目
git init —bare
- 2.項(xiàng)目經(jīng)理將共享版本庫(kù)的內(nèi)容先下載下來(lái)
git clone 地址 - 3.添加需要忽略的文件
touch .gitignore
去github上搜索.gitignore->Objective-C
git add .gitignore
git commit -m “添加了需要忽略的文件” - 4.項(xiàng)目經(jīng)理初始化項(xiàng)目
git commit -m “初始化項(xiàng)目”—>提交到本地代碼倉(cāng)庫(kù) - 5.將項(xiàng)目push遠(yuǎn)程倉(cāng)庫(kù)中
git push origin - 6.當(dāng)源代碼管理是使用GIT,并且在Xcode進(jìn)行多人開(kāi)發(fā)的操作
注意:當(dāng)使用GIT,項(xiàng)目中用到了靜態(tài)庫(kù)就不需要通過(guò)命令行進(jìn)行添加
- 三.版本備份
- 1.1.0版本開(kāi)發(fā)完成,之后對(duì)1.0版本進(jìn)行備份
git tag -a weibo1.0 -m “這個(gè)是1.0版本” : 給某一個(gè)版本打上標(biāo)簽
git tag : 查看所有的標(biāo)簽
- 2.需要將1.0版本的標(biāo)簽,push到服務(wù)器
git push origin weibo1.0 - 3.繼續(xù)開(kāi)發(fā)2.0版本
- 4.發(fā)現(xiàn)1.0版本有bug,從標(biāo)簽里面clone 1.0版本,從標(biāo)簽創(chuàng)建一個(gè)fixbug分支,在分支中修復(fù)bug
git clone 共享版本庫(kù)
git checkout weibo1.0(標(biāo)簽的名稱)
git checkout -b weibo1.1fixbug(分支名稱) - 5.修復(fù)后的版本上傳AppStore/將1.0fixbug進(jìn)行備份/將1.0fixbug版本和2.0版本進(jìn)行合并
git tag -a weibo1.1 -m “這個(gè)是修復(fù)了1.0版本bug的1.1版本”
git tag
git push origin weibo1.1
將子分支中代碼合并到主分支,pull—>weibo1.1fixbug—>push master—>其它同事更新 - 6.刪除分支
git branch -r
git branch -r -d 分支名稱
- 四.將代碼托管到別人的服務(wù)器里面
- 1.Github
創(chuàng)建Github上的倉(cāng)庫(kù)
- HTTPS : http + SSL
- SSH : 公鑰和私鑰—>settings—>SSH Keys—>生成公鑰和私鑰
刪除代碼倉(cāng)庫(kù)
可以給別人的代碼提比較功能/對(duì)別人的代碼重構(gòu):fork—>pull Request
issues : 給框架作者提問(wèn)題
- 2.OSChina(Github上面項(xiàng)目不能私有化:交錢可以)
創(chuàng)建代碼倉(cāng)庫(kù)
HTTPS/SSH
.gitignore不夠完整 : 手動(dòng)添加完成
如果項(xiàng)目想要多人開(kāi)發(fā):管理—>成員管理—>添加成員:讓新人注冊(cè)一個(gè)OSChina