無(wú)標(biāo)題文章

廖雪峰Git使用說(shuō)明

http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/

通過(guò)終端生成SSH

ssh-keygen -t rsa 連續(xù)回車(chē)

如果Mac電腦安裝了Xcode,自帶有Git功能

配置Git(將來(lái)查看歷史記錄的時(shí)候會(huì)用到,注意一定要配置)

git config 可以列出或修改配置

git config -l? 打印可以配置的相關(guān)屬性

告訴git當(dāng)前用戶(hù)名的姓名和郵件地址

git config —global user.name “張三”? 配置提交者的用戶(hù)名字(全局配置)

git config —globaluser.emailzhangsan@163.com”? 配置提交者的用戶(hù)郵箱

git —version 打印git版本

——————————————————————————————

① 桌面創(chuàng)建倉(cāng)庫(kù)叫MyGit? 利用終端創(chuàng)建: mkdir 目錄名

命令:cd desktop

命令:mkdir MyGit

② 從終端進(jìn)入該文件

命令:cd MyGit

③ 命令:git init

作用:初始化git,里面的有個(gè)隱藏文件叫.git,里面隱藏有一些文件

現(xiàn)象:Initialized empty Git repository in /Users/zhangzenan/Desktop/MyGit/.git/

命令:cd .git

命令:ls -a? 可以查看.git中的所有文件

命令:cd ..

回到MyGit目錄中

注:.git目錄就是Git版本庫(kù)(又叫倉(cāng)庫(kù),repository),被稱(chēng)作為工作區(qū).

如果用Git來(lái)寫(xiě)紅樓夢(mèng),應(yīng)該怎么寫(xiě)?

① 創(chuàng)建一個(gè)文本,內(nèi)容標(biāo)題:紅樓夢(mèng),將文件命名為HLM并保存到MyGit中

命令:git status

作用:打印倉(cāng)庫(kù)狀態(tài)

⑤ 打印git狀態(tài)

命令:git status

終端打印內(nèi)容:

On branch master

Initial commit

Untracked files:

(use "git add ..." to include in what will be committed)

HLM.txt(該名稱(chēng)為紅色)

nothing added to commit but untracked files present (use "git add" to track)

翻譯內(nèi)容:(英語(yǔ)一般,大致意思如下)

位于分支 master 上

初始化提交:

沒(méi)有被追蹤的文件:

(使用"git add .."命令將要被提交的東西包含進(jìn)去)

HLM.txt? 要包含的文件名為HLM.txt

沒(méi)有東西被添加并提交但是目前有未被追蹤的文件(使用"git add"命令來(lái)追蹤)

命令:git add HLM.txt

作用:添加文件到git中(要求Git跟蹤文件,將文件置于Git管理之下)

再次git status

終端打印內(nèi)容(下列顯示為成功內(nèi)容)

On branch master

Initial commit

Changes to be committed:

(use "git rm --cached ..." to unstage)

new file:? HLM.txt? ? (名稱(chēng)變?yōu)榫G色)

⑥ 可以開(kāi)始寫(xiě)紅樓夢(mèng)第一回啦!

例如:第一回 甄士隱夢(mèng)幻識(shí)通靈? 賈雨村風(fēng)塵懷閨秀(樣本)

git commit -m “第一回寫(xiě)完了”? 提交文件到Git庫(kù)中(每次提交都要添加注釋,例如對(duì)文件修改了什么東西.-m后寫(xiě)的是本次提交的說(shuō)明)

⑦ 寫(xiě)紅樓夢(mèng)第二回,然后git status,會(huì)提示使用兩個(gè)命令? 使用git add .? (添加的一個(gè)快捷方式)? 使用git commit -m ***真正提交

⑧ git log 可以查看之前所做的所有事情? 其中有個(gè)commit后面跟一堆東西,這是通過(guò)其他算法算出的一個(gè)唯一標(biāo)識(shí),將來(lái)”回滾”的時(shí)候會(huì)用到這個(gè)標(biāo)識(shí)符

按q退出

⑨ git log --pretty=oneline 可以簡(jiǎn)化log打印的內(nèi)容

—————————————————————————————————————

① 發(fā)現(xiàn)標(biāo)題一寫(xiě)錯(cuò),重新修改,然后git status打印內(nèi)容.? 通過(guò)git diff 查看兩次修改的內(nèi)容差別

② git commit -a -m 修改了標(biāo)題一

—————————————————————————————————————

① 腦袋不清醒寫(xiě)第三回,亂寫(xiě)一通,第二天通過(guò) git diff來(lái)查看區(qū)別

② 我想回滾到上一個(gè)階段,把工作區(qū)中尚未提交的內(nèi)容廢除掉

git checkout HLM.txt? 回滾沒(méi)有add的修改

③ 強(qiáng)制回滾到某一個(gè)版本的代碼(add/commit過(guò)的文件均可回滾) git reset --hard? ******

標(biāo)識(shí)符可以只寫(xiě)前幾位,或者直接粘過(guò)來(lái)

④ 想重新恢復(fù)到之前最新的那個(gè)版本

git reflog 查看之前所有的修改操作,根據(jù)前面的標(biāo)識(shí)符進(jìn)行回滾

—————————————————————————————————————

① 曹雪芹臨時(shí)有事要出差,于是邀請(qǐng)好友幫她寫(xiě)東西,但是不能直接在原稿上修改,因此要?jiǎng)?chuàng)建分支

git branch? 查看分支 ==> 查看稿件作者,默認(rèn)為master

git branch? zhangSan? 創(chuàng)建分支

git checkout zhangSan? 切換到zhangSan對(duì)應(yīng)的分支

接下來(lái)由zhangSan來(lái)搞定

② 寫(xiě)第三回.內(nèi)容:第三回 賈雨村夤緣復(fù)舊職 林黛玉拋父進(jìn)京都.寫(xiě)完后提交git commit -a -m '第三回完成'

git status 打印當(dāng)前狀態(tài)

③ 曹雪芹出差回來(lái),發(fā)現(xiàn)他寫(xiě)的挺好,準(zhǔn)備合并

切換到自己的分支? git checkout master

合并分支 git merge zhangSan

注:SVN創(chuàng)建分支很費(fèi)勁,需要將所有數(shù)據(jù)全部復(fù)制,但是Git只是一瞬間的事情

④ 作者自己寫(xiě)第四回,內(nèi)容:第四回 薄命女偏逢薄命郎 葫蘆僧亂判葫蘆案.寫(xiě)完以后提交一次,然后接到命令出差,讓好友zhangSan繼續(xù)幫她寫(xiě)作

作者走之前提交:git commit -a -m "第四回完事"

zhangSan應(yīng)該切換到自己的分支繼續(xù)寫(xiě)作,寫(xiě)第五回并提交.內(nèi)容:第五回:游幻境指迷十二釵 窗前明月光,意識(shí)地上霜

⑤ 作者回來(lái)以后發(fā)現(xiàn)他寫(xiě)的不怎么滴,準(zhǔn)備自己重新寫(xiě)第五回

先切換自己的分支,接著從第四回往后寫(xiě)第五回,內(nèi)容:第五回 飲仙醪曲演紅樓夢(mèng),然后提交

提交完以后,忽然他發(fā)現(xiàn)他好友寫(xiě)的某些語(yǔ)句特別好,合并分支

現(xiàn)象(出錯(cuò)):因?yàn)閮蓚€(gè)人都寫(xiě)了第五回,合并的時(shí)候會(huì)發(fā)生沖突

解決辦法:打開(kāi)你的文件,會(huì)發(fā)現(xiàn)所有文件都在了,需要手動(dòng)把不滿(mǎn)意的刪了,滿(mǎn)意的留下,改好以后再次提交

注:產(chǎn)生沖突的兩種情況

① 分支合并會(huì)產(chǎn)生沖突

② 多人同時(shí)修改一個(gè)文件會(huì)產(chǎn)生沖突

如果A修改但沒(méi)提交,B來(lái)了,修改并提交.如果這個(gè)時(shí)候A再提交,會(huì)發(fā)生沖突,因?yàn)楫?dāng)前文件狀態(tài)已經(jīng)不是A那時(shí)候的狀態(tài)了.這個(gè)時(shí)候A要手動(dòng)修改沖突的地方并再次提交

⑥ 作者認(rèn)為第一階段結(jié)束,準(zhǔn)備發(fā)布一個(gè)版本0.1

git tag 打印版本

git tag v0.1? 添加一個(gè)0.1版本

本地管理結(jié)束

—————————————————————————————————————

如果頻繁出差會(huì)影響寫(xiě)作效率,如果在外地也能寫(xiě)作就好了

遠(yuǎn)程管理:GitHub(提供免費(fèi)的倉(cāng)庫(kù)管理,而且可以查看別人的倉(cāng)庫(kù),例如FMDB)

GitHub(國(guó)外的):對(duì)于不公開(kāi)的項(xiàng)目是收費(fèi)的,公開(kāi)項(xiàng)目是免費(fèi)的

commits:提交次數(shù)

branches:分支次數(shù)

releases:發(fā)布版本數(shù)

contributors:貢獻(xiàn)者個(gè)數(shù)

技巧:找第三方庫(kù)都在這里找,而且Star超過(guò)3000的最好都看看,常見(jiàn)類(lèi)庫(kù)有1000個(gè),知道的越多寫(xiě)代碼越順暢.

http://git.oschina.net(國(guó)內(nèi)的)

如何將自己的項(xiàng)目上傳到GitHub上?

SVN的checkout只能獲取最新版

創(chuàng)建遠(yuǎn)程倉(cāng)庫(kù)

① 注冊(cè)賬號(hào)(github oscine均可)? 通過(guò)終端命令獲取SHH并添加進(jìn)去

② 創(chuàng)建一個(gè)私有項(xiàng)目

項(xiàng)目名隨意(MyGit)

項(xiàng)目介紹隨意(這是我的第一個(gè)項(xiàng)目)

項(xiàng)目語(yǔ)言(Objective-C)

GitIgnore(Objective-C - .gitignore)

開(kāi)源許可證默認(rèn)不管

項(xiàng)目屬性:勾選私有

ReadMe:默認(rèn)勾選

點(diǎn)擊創(chuàng)建完成

③ 右半部分有個(gè)[HTTPS|SSH],選擇SSH并復(fù)制右邊的地址

④ 打開(kāi)Xcode的偏好設(shè)置,選擇Accounts

⑤ 左下角有個(gè)+號(hào),選擇Add Repository

Address:粘貼那個(gè)地址

Type:Git,Subversion就是SVN的簡(jiǎn)寫(xiě)

Authentication:SSH Keys

User Name:默認(rèn)git

Public Key:公鑰

Private Key:私鑰

Passphrase:設(shè)置密碼

⑥ Xcode有個(gè)Source Control,選擇Check Out

找到你添加的網(wǎng)絡(luò)倉(cāng)庫(kù),點(diǎn)擊Next

選擇倉(cāng)庫(kù)的保存路徑,例如Desktop,點(diǎn)擊Download把倉(cāng)庫(kù)從網(wǎng)絡(luò)下載到本地

① 創(chuàng)建一個(gè)新工程,保存到本地倉(cāng)庫(kù)里面

② 創(chuàng)建好以后左側(cè)烈面會(huì)出現(xiàn)一堆?號(hào),表示該文件尚未被追蹤

③ 選擇Source Control,選擇Commit,輸入提交內(nèi)容即可將文件提交到本地倉(cāng)庫(kù)

注:

空:表示”無(wú)修改”

A:表示”新增”,

C:表示”沖突”,

D:表示”刪除”,

G:表示”合并”,

I :表示”忽略”,

M:表示”改變”,

R:表示”替換”,

X:表示”未納入版本控制,但被外部定義所用”,

?:表示”未納入版本控制”,

! :表示”該項(xiàng)目已遺失(被非SVN命令刪除)或是不完整”,

~:表示”版本控制下的項(xiàng)目與其他類(lèi)型的項(xiàng)目重名”

④ 給StoryBoard添加一個(gè)按鈕并設(shè)置其”上左右”為20.因?yàn)楦牧藘?nèi)容,因此會(huì)出現(xiàn)M.手動(dòng)提交到本地倉(cāng)庫(kù)中.

提交過(guò)程中選中那個(gè)文件,可以查看哪里被修改了.結(jié)論是:StoryBoard本質(zhì)就是一個(gè)XML文件

⑤ Push:將本地倉(cāng)庫(kù)Push到遠(yuǎn)程倉(cāng)庫(kù)中

Pull:把遠(yuǎn)程倉(cāng)庫(kù)的內(nèi)容加載回來(lái).

注:Push和Pull是一對(duì),多人合作的時(shí)候常用

⑥ 給按鈕綁定方法用來(lái)改變按鈕坐標(biāo),然后再次提交

⑦ 打開(kāi)”輔助面板”右側(cè)的按鈕,可以用來(lái)對(duì)比任意兩個(gè)版本的內(nèi)容差別

按鈕1(Comparison):查看兩個(gè)版本的內(nèi)容差別

按鈕2(Blame):查看某段代碼是誰(shuí)提交的

按鈕3(Log):按照時(shí)間查看

如果整體項(xiàng)目已經(jīng)完成,但是臨時(shí)想添加一個(gè)新功能.應(yīng)該創(chuàng)建一個(gè)新分支再實(shí)現(xiàn),如果試驗(yàn)失敗能保證代碼能還原

① 創(chuàng)建分支:Source Controller -> Master -> New Branch,創(chuàng)建完畢會(huì)自動(dòng)切換到新的分支,完善按鈕的點(diǎn)擊事件

② 如果感覺(jué)寫(xiě)的沒(méi)問(wèn)題就可以合并分支,選擇Merge Into Branch.過(guò)程當(dāng)中可以決定是否合并某些代碼,下方有開(kāi)關(guān)可以控制

③ 合并完以后會(huì)自動(dòng)切換到Into選擇的那個(gè)分支.

④ 如果后悔合并想還原怎么辦?Xcode只提供了有限功能,更多功能需要依賴(lài)終端命令

⑤ 如果電腦不小心死機(jī)打不開(kāi)了怎么辦?從遠(yuǎn)程服務(wù)器把倉(cāng)庫(kù)下載回來(lái).

通過(guò)終端命令跳到desktop

git clonegit@git.oschina.net:UILabel/MyGit.git回車(chē)即可? 如果讓輸yes就輸yes

注:Git將遠(yuǎn)程倉(cāng)庫(kù)clone到本地,會(huì)把倉(cāng)庫(kù)中的所有東西都弄出來(lái),包括版本記錄

作者:UIButton

鏈接:http://www.reibang.com/p/d9fd918c7efb

來(lái)源:簡(jiǎn)書(shū)

著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán)犹撒,非商業(yè)轉(zhuǎn)載請(qǐng)注明出處折联。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市识颊,隨后出現(xiàn)的幾起案子诚镰,更是在濱河造成了極大的恐慌奕坟,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,639評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件清笨,死亡現(xiàn)場(chǎng)離奇詭異月杉,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)抠艾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)苛萎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人检号,你說(shuō)我怎么就攤上這事腌歉。” “怎么了谨敛?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,221評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵究履,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我脸狸,道長(zhǎng)最仑,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,474評(píng)論 1 283
  • 正文 為了忘掉前任炊甲,我火速辦了婚禮泥彤,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘卿啡。我一直安慰自己吟吝,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,570評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布颈娜。 她就那樣靜靜地躺著剑逃,像睡著了一般。 火紅的嫁衣襯著肌膚如雪官辽。 梳的紋絲不亂的頭發(fā)上蛹磺,一...
    開(kāi)封第一講書(shū)人閱讀 49,816評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音同仆,去河邊找鬼萤捆。 笑死,一個(gè)胖子當(dāng)著我的面吹牛俗批,可吹牛的內(nèi)容都是我干的俗或。 我是一名探鬼主播,決...
    沈念sama閱讀 38,957評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼岁忘,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼辛慰!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起干像,我...
    開(kāi)封第一講書(shū)人閱讀 37,718評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤昆雀,失蹤者是張志新(化名)和其女友劉穎辱志,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體狞膘,經(jīng)...
    沈念sama閱讀 44,176評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,511評(píng)論 2 327
  • 正文 我和宋清朗相戀三年什乙,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了挽封。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,646評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡臣镣,死狀恐怖辅愿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情忆某,我是刑警寧澤点待,帶...
    沈念sama閱讀 34,322評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站弃舒,受9級(jí)特大地震影響癞埠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜聋呢,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,934評(píng)論 3 313
  • 文/蒙蒙 一苗踪、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧削锰,春花似錦通铲、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,755評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至蛹稍,卻和暖如春吧黄,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背稳摄。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,987評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工稚字, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人厦酬。 一個(gè)月前我還...
    沈念sama閱讀 46,358評(píng)論 2 360
  • 正文 我出身青樓胆描,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親仗阅。 傳聞我的和親對(duì)象是個(gè)殘疾皇子昌讲,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,514評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容