源代碼管理工具

1 SVN

集中式版本控制工具:

2 git

開(kāi)源的分布式版本控制工具,git提交時(shí)可以在本地提交

svn和git對(duì)比:

速度:在很多情況下,git的速度遠(yuǎn)遠(yuǎn)比svn快

結(jié)構(gòu):svn是集中式管理;git是分布式管理

其他:svn使用分支比較笨拙,git可以輕松擁有無(wú)限個(gè)分支

svn必須聯(lián)網(wǎng)才能正常工作,git支持本地版本控制工作

舊版本的svn會(huì)在每一個(gè)目錄下有一個(gè).svn,git只會(huì)在根目錄下?lián)碛幸粋€(gè).git

git工作流程:

共享版本庫(kù)[下載是使用clone]<—————開(kāi)發(fā)人員1[提交commit提交到本地代碼倉(cāng)庫(kù),必須push到共享版本庫(kù)中,開(kāi)發(fā)人員2可以使用pull來(lái)下載開(kāi)發(fā)人員1push的代碼]

共享版本庫(kù)<—————開(kāi)發(fā)人員2

在分布式下開(kāi)發(fā)則可以本地提交,每個(gè)開(kāi)發(fā)者機(jī)器上都有一個(gè)服務(wù)器的數(shù)據(jù)庫(kù);擁有一個(gè)本地的代碼倉(cāng)庫(kù)。

git演練

顯示隱藏文件的命令是:defaults write com.apple.finder AppleShowAllFiles -bool true

顯示隱藏文件夾的命令是:defaults write com.apple.finder AppleShowAllFiles -bool true ; killall Finder

1 個(gè)人演練(命令行演練)

-1 進(jìn)入到工作目錄中,初始化一個(gè)代碼倉(cāng)庫(kù) ?git init

-2 給該git倉(cāng)庫(kù)配置一個(gè)用戶名和郵箱 ?git config user.name “xxx"

git config user.email “xxx@xxx.com"

-3 初始化一個(gè)代碼 ?touch main.m

git add main.m

-4 查看文件的狀態(tài) ?git status

Untracked files(紅色文件):新添加的文件或者新修改的文件在工作區(qū)中,沒(méi)有添加到暫緩區(qū)。

Changes to be committed(綠色):將工作區(qū)中的代碼已經(jīng)添加到暫緩區(qū),可以被提交到代碼倉(cāng)庫(kù)中了。

-git commit -m "初始化項(xiàng)目"

1> 給所有的文件提交時(shí)的注釋

git commit -m?“xxxxxx"

git commit -m "modified the first file"

2> git diff

3>git diff --staged

4> git rm xx.xx

5>git mv main.m pudding.m 相當(dāng)于rename

6>git mv pudding.m hh/patty.m? 將pudding.m 轉(zhuǎn)移到hh文件夾下改名為patty.m

-5 修改文件

open main.m

-6 將工作區(qū)所有的文件添加到暫緩去

git add .

-7 給git命令起別名

git config alias.xx?“status"

git config alias.xx?“commit -m"

-8 查看歷史版本

git log

git relog

1>查詢某一個(gè)人提交的代碼命令是

git log author=“xxxx"

-9 版本回退

git reset?—hard HEAD

git reset —hard HEAD^

git reset?—hard HEAD^^

git reset?—hard HEAD~100

git reset?—hard 版本號(hào)前7位

-10 -global的作用(配置全局的用戶名和密碼,其他地方可以不配置)

git config?—global user.name?“why"

git config?—global user.email?“why@163.com"

git 工作原理

1 工作區(qū):倉(cāng)庫(kù)文件夾里除了.git目錄以外的內(nèi)容

2 版本庫(kù):.git目錄。用戶存儲(chǔ)記錄版本信息

暫緩區(qū)(stage):

分支(master):git自動(dòng)創(chuàng)建第一個(gè)分支

HEAD指針:用于指向當(dāng)前分支

3 git add:把文件修改添加到暫緩區(qū)

git commit:把暫緩區(qū)的所有內(nèi)容提交到當(dāng)前分支

二 團(tuán)隊(duì)開(kāi)發(fā)

共享庫(kù):可以是文件夾/U盤/網(wǎng)盤(?)/GitHub/osChina

1 創(chuàng)建代碼共享庫(kù)(讓一個(gè)文件夾成為共享庫(kù))

git init --bare

2 經(jīng)理將共享代碼倉(cāng)庫(kù)總的代碼clone下來(lái)

git clone 地址

3 項(xiàng)目經(jīng)理初始化項(xiàng)目

忽略文件:在和.git等級(jí)目錄下創(chuàng)建一個(gè).gitignore文件,在該文件下準(zhǔn)備忽略的文件;可以去gitHub查找oc需要忽略的內(nèi)容,將內(nèi)容填寫(xiě)到.gitignore中

git add . /git commit -m “注釋”將.gitignore添加到本地倉(cāng)庫(kù)管理

遠(yuǎn)程服務(wù)器中(gitHub)

最后編輯于
?著作權(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)容