(2)然后把下面的代碼復(fù)制粘帖進(jìn)命令框里(注:先復(fù)制一行粘貼后回車,再?gòu)?fù)制另外一行粘貼后回車):。你可能知道在 chrome 瀏覽器中直接在地址欄中就可以搜索,也可能知道直接選中文本然后右鍵選擇在 google 搜索或復(fù)制然后在地址欄中粘貼并搜索,但你或許不知道 tab 搜索。你可能知道在 chrome 瀏覽器中直接在地址欄中就可以搜索,也可能知道直接選中文本然后右鍵選擇在 google 搜索或復(fù)制然后在地址欄中粘貼并搜索,但你或許不知道 tab 搜索。
Image credit:XKCD
我曾經(jīng)想過(guò):“如果有一個(gè)最常見(jiàn)的 Git 命令的列表,以及它們的功能是什么,這不是極好的嗎?”
多年之后,我編制了這樣一個(gè)列表,并且給出了一些最佳實(shí)踐,讓新手們甚至中高級(jí)開(kāi)發(fā)人員都能從中發(fā)現(xiàn)有用的東西。
為了保持實(shí)用性,我將這個(gè)列表與我過(guò)去一周實(shí)際使用的 Git 命令進(jìn)行了比較。
幾乎每個(gè)開(kāi)發(fā)人員都在使用 Git,當(dāng)然很可能是 GitHub。但大多數(shù)開(kāi)發(fā)者大概有 99% 的時(shí)間只是使用這三個(gè)命令:
git add --all
git commit -am "<message>"
git push origin master
如果你只是單槍匹馬,或者參加一場(chǎng)黑客馬拉松或開(kāi)發(fā)一次性的應(yīng)用時(shí),它工作得很好,但是當(dāng)穩(wěn)定性和可維護(hù)性開(kāi)始成為一個(gè)優(yōu)先考慮的事情后,清理提交、堅(jiān)持分支策略和提交信息的規(guī)范性就變得很重要。
我將從常用命令的列表開(kāi)始,使新手更容易了解 Git 能做什么,然后進(jìn)入更高級(jí)的功能和最佳實(shí)踐。
要想在倉(cāng)庫(kù)(repo)中初始化 Git,你只需輸入以下命令即可。如果你沒(méi)有初始化 Git,則不能在該倉(cāng)庫(kù)內(nèi)運(yùn)行任何其他的 Git 命令。
gitinit
如果你在使用 GitHub,而且正在將代碼推送到在線存儲(chǔ)的 GitHub 倉(cāng)庫(kù)中,那么你正在使用的就是遠(yuǎn)程(remote)倉(cāng)庫(kù)。該遠(yuǎn)程倉(cāng)庫(kù)的默認(rèn)名稱(也稱為別名)為 origin。如果你已經(jīng)從 Github 復(fù)制了一個(gè)項(xiàng)目,它就有了一個(gè) origin。你可以使用命令 git remote -v 查看該 origin,該命令將列出遠(yuǎn)程倉(cāng)庫(kù)的 URL。
如果你初始化了自己的 Git 倉(cāng)庫(kù),并希望將其與 GitHub 倉(cāng)庫(kù)相關(guān)聯(lián)linux常用命令,則必須在 GitHub 上創(chuàng)建一個(gè),復(fù)制新倉(cāng)庫(kù)提供的 URL,并使用 git remote add origin <URL> 命令,這里使用 GitHub 提供的 URL 替換 <URL>。這樣,你就可以添加、提交和推送更改到你的遠(yuǎn)程倉(cāng)庫(kù)了。
最后一條命令用在當(dāng)你需要更改遠(yuǎn)程倉(cāng)庫(kù)時(shí)。如果你從其他人那里復(fù)制了一個(gè)倉(cāng)庫(kù),并希望將遠(yuǎn)程倉(cāng)庫(kù)從原始所有者更改為你自己的 GitHub 帳戶。除了改用 set-url 來(lái)更改遠(yuǎn)程倉(cāng)庫(kù)外,流程與 git remote add origin 相同。
git remote -v
git remote add origin <url>
git remote set-url origin <url>
復(fù)制倉(cāng)庫(kù)最常見(jiàn)的方式是使用 git clone,后跟倉(cāng)庫(kù)的 URL。
請(qǐng)記住,遠(yuǎn)程倉(cāng)庫(kù)將連接到克隆倉(cāng)庫(kù)原屬于的帳戶。所以,如果你克隆了一個(gè)屬于別人的倉(cāng)庫(kù),你將無(wú)法推送到 GitHub,除非你使用上面的命令改變了 origin。
gitclone<url>
你很快就會(huì)發(fā)現(xiàn)自己正在使用分支。如果你還不理解什么是分支,有許多其他更深入的教程,你應(yīng)該先閱讀它們,再繼續(xù)下面的操作。(這里是一個(gè)教程)