Git 命令行教程及實(shí)例教程(附github注冊(cè))
本篇博客主要講解以下問(wèn)題:
Git 常用命令
創(chuàng)建新倉(cāng)庫(kù)
檢出倉(cāng)庫(kù)
添加與提交
推送改動(dòng)
分支
更新與合并
標(biāo)簽
替換本地改動(dòng)
Git實(shí)例教程
操作小技巧
Git 常用命令常用命令
創(chuàng)建新倉(cāng)庫(kù)
創(chuàng)建新文件夾,打開(kāi),然后執(zhí)行
git init
以創(chuàng)建新的 git 倉(cāng)庫(kù)。
檢出倉(cāng)庫(kù)
執(zhí)行如下命令以創(chuàng)建一個(gè)本地倉(cāng)庫(kù)的克隆版本:
git clone /path/to/repository
如果是遠(yuǎn)端服務(wù)器上的倉(cāng)庫(kù),你的命令會(huì)是這個(gè)樣子:
git clone username@host:/path/to/repository
工作流
你的本地倉(cāng)庫(kù)由 git 維護(hù)的三棵“樹(shù)”組成。第一個(gè)是你的 工作目錄,它持有實(shí)際文件;第二個(gè)是 緩存區(qū)(Index),它像個(gè)緩存區(qū)域,臨時(shí)保存你的改動(dòng);最后是 HEAD,指向你最近一次提交后的結(jié)果。
添加與提交
你可以計(jì)劃改動(dòng)(把它們添加到緩存區(qū)),使用如下命令:
git add <filename> git add * # 添加所有文件 git add .
這是 git 基本工作流程的第一步;使用如下命令以實(shí)際提交改動(dòng):
git commit -m "代碼提交信息"
現(xiàn)在,你的改動(dòng)已經(jīng)提交到了 HEAD,但是還沒(méi)到你的遠(yuǎn)端倉(cāng)庫(kù)。
推送改動(dòng)
你的改動(dòng)現(xiàn)在已經(jīng)在本地倉(cāng)庫(kù)的 HEAD 中了。執(zhí)行如下命令以將這些改動(dòng)提交到遠(yuǎn)端倉(cāng)庫(kù):
git push origin master
可以把 master 換成你想要推送的任何分支。
如果你還沒(méi)有克隆現(xiàn)有倉(cāng)庫(kù),并欲將你的倉(cāng)庫(kù)連接到某個(gè)遠(yuǎn)程服務(wù)器,你可以使用如下命令添加:
# 注意 server必須是存在的倉(cāng)庫(kù) git remote add origin <server> git remote add origin https://github.com/gdutxiaoxu/test2.git
該命令是移除本地緩存已有的remote信息
git remote remove origin
如此你就能夠?qū)⒛愕母膭?dòng)推送到所添加的服務(wù)器上去了。
分支
分支是用來(lái)將特性開(kāi)發(fā)絕緣開(kāi)來(lái)的。在你創(chuàng)建倉(cāng)庫(kù)的時(shí)候,master 是“默認(rèn)的”。在其他分支上進(jìn)行開(kāi)發(fā),完成后再將它們合并到主分支上。
創(chuàng)建一個(gè)叫做“feature_x”的分支,并切換過(guò)去:
git checkout -b feature_x
切換回主分支:
git checkout master
切換回分支:
git checkout <branch> git checkout feature_x
再把新建的分支刪掉:
git branch -d feature_x
除非你將分支推送到遠(yuǎn)端倉(cāng)庫(kù),不然該分支就是 不為他人所見(jiàn)的:
git push origin <branch> git push origin feature_x
更新與合并
要更新你的本地倉(cāng)庫(kù)至最新改動(dòng),執(zhí)行:
git pull
以在你的工作目錄中 獲?。╢etch) 并 合并(merge) 遠(yuǎn)端的改動(dòng)。
要合并其他分支到你的當(dāng)前分支(例如 master),執(zhí)行:
git merge <branch> git merge feature_x
兩種情況下,git 都會(huì)嘗試去自動(dòng)合并改動(dòng)。不幸的是,自動(dòng)合并并非次次都能成功,并可能導(dǎo)致 沖突(conflicts)。 這時(shí)候就需要你修改這些文件來(lái)人肉合并這些 沖突(conflicts) 了。改完之后,你需要執(zhí)行如下命令以將它們標(biāo)記為合并成功:
git add <filename>
在合并改動(dòng)之前,也可以使用如下命令查看:
git diff <source_branch> <target_branch>
標(biāo)簽
在軟件發(fā)布時(shí)創(chuàng)建標(biāo)簽,是被推薦的。這是個(gè)舊有概念,在 SVN 中也有??梢詧?zhí)行如下命令以創(chuàng)建一個(gè)叫做 1.0.0 的標(biāo)簽:
git tag 1.0.0 1b2e1d63ff
1b2e1d63ff 是你想要標(biāo)記的提交 ID 的前 10 位字符。使用如下命令獲取提交 ID:
git log
你也可以用該提交 ID 的少一些的前幾位,只要它是唯一的。
替換本地改動(dòng)
假如你做錯(cuò)事(自然,這是不可能的),你可以使用如下命令替換掉本地改動(dòng):
git checkout -- <filename>
此命令會(huì)使用 HEAD 中的最新內(nèi)容替換掉你的工作目錄中的文件。已添加到緩存區(qū)的改動(dòng),以及新文件,都不受影響。
假如你想要丟棄你所有的本地改動(dòng)與提交,可以到服務(wù)器上獲取最新的版本并將你本地主分支指向到它:
git fetch origin git reset --hard origin/master
有用的貼士
內(nèi)建的圖形化 git:
gitk
彩色的 git 輸出:
git config color.ui true
顯示歷史記錄時(shí),只顯示一行注釋信息:
git config format.pretty oneline
交互地添加文件至緩存區(qū):
git add -i
到此 git常用的命令已經(jīng) 講解完畢,下面開(kāi)始講解Git 實(shí)例教程
Git實(shí)例教程
大概分為以下兩步
實(shí)例教程
github賬號(hào)的注冊(cè)與Repo的創(chuàng)建
Github注冊(cè)
打開(kāi)https://github.com/,在下圖的框中,分別輸入自己的用戶名,郵箱,密碼。
然后前往自己剛才填寫(xiě)的郵箱,點(diǎn)開(kāi)Github發(fā)送給你的注冊(cè)確認(rèn)信,確認(rèn)注冊(cè),結(jié)束注冊(cè)流程。
一定要確認(rèn)注冊(cè),否則無(wú)法使用gh-pages!
創(chuàng)建代碼庫(kù)
登陸之后,點(diǎn)擊頁(yè)面右上角的加號(hào),選擇New repository:
新建代碼庫(kù)
進(jìn)入代碼庫(kù)創(chuàng)建頁(yè)面:
到此我們就創(chuàng)建好了repo,地址 為:https://github.com/gdutxiaoxu/test.git
實(shí)例教程
這里我們把倉(cāng)庫(kù)建在 G://test 目錄下
首先打開(kāi)命令行,進(jìn)入G 盤(pán),輸入以下命令
# 在 test目錄下創(chuàng)建 README.md 文件 echo "# test" >> README.md
接著初始化倉(cāng)庫(kù)
git init
可以看到如下圖片的效果
將 README.md 文件添加到版本控制
git add README.md
提交文件到本地緩存,并添加說(shuō)明
git commit -m "first commit"
將本地倉(cāng)庫(kù)與遠(yuǎn)程倉(cāng)庫(kù) https://github.com/gdutxiaoxu/test.git 聯(lián)系起來(lái)
git remote add origin https://github.com/gdutxiaoxu/test.git
將本地倉(cāng)庫(kù)緩存的文件提交到遠(yuǎn)程倉(cāng)庫(kù)中
git push -u origin master
如果你沒(méi)有配置ssh ,那么在這里需要輸入你的github 賬戶的用戶名和密碼
正確輸入你的用戶名和密碼后,可以看到
同時(shí)我們登陸我們的github 倉(cāng)庫(kù) : https://github.com/gdutxiaoxu/test.git ,可以看到:
說(shuō)明已經(jīng)提交成功了。
注意事項(xiàng):如果我們本地已經(jīng)存在倉(cāng)庫(kù)了,那我們只需要執(zhí)行以下命令就可以將我們本地倉(cāng)庫(kù)與遠(yuǎn)程綁定起來(lái)
git remote add origin https://github.com/gdutxiaoxu/test.gitgit push -u origin mastergit pull https://github.com/gdutxiaoxu/test.git master
如果本地倉(cāng)庫(kù)已經(jīng)綁定別的遠(yuǎn)程倉(cāng)庫(kù),我們可以用以下命令將其刪除相應(yīng)的倉(cāng)庫(kù)信息
# 該命令是移除本地緩存已有的remote信息git remote remove origin
如果我們r(jià)emote repo (即遠(yuǎn)端倉(cāng)庫(kù)已經(jīng)存在了),那么我們只需要執(zhí)行以下命令就OK了
git clone https://github.com/gdutxiaoxu/test.git "you path"
比如我們想儲(chǔ)存在 G://test 目錄下,那么我們可以輸入一下命令
git clone https://github.com/gdutxiaoxu/test.git G://test
效果圖如下
操作小技巧
有時(shí)候在cmd 窗口中,你會(huì)發(fā)現(xiàn)復(fù)制,粘貼的快捷鍵失效了,對(duì)我們開(kāi)發(fā)者來(lái)說(shuō)很不方便,拿我們有什么解決方法你? 哈哈,就是開(kāi)啟快速插入模式。
右鍵點(diǎn)擊,點(diǎn)擊cmd 窗口
選擇快速插入模式,在Cmd 窗口,按右鍵,就能實(shí)現(xiàn)粘貼了。
同理,在git bash 窗口也是這樣,這樣就不在闡述了。
相關(guān)文章
Postman配置多環(huán)境請(qǐng)求地址的實(shí)現(xiàn)
本文主要介紹了Postman配置多環(huán)境請(qǐng)求地址的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01如何通過(guò)阿里云實(shí)現(xiàn)動(dòng)態(tài)域名解析DDNS的方法
這篇文章主要介紹了如何通過(guò)阿里云實(shí)現(xiàn)動(dòng)態(tài)域名解析DDNS的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-0745個(gè)GIT經(jīng)典操作場(chǎng)景使用詳解
這篇文章主要介紹了45個(gè)GIT經(jīng)典操作場(chǎng)景使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07Unity通過(guò)BlendShape實(shí)現(xiàn)面部表情過(guò)渡切換Animation教程
眼睛慢慢瞇成一條線的人都是實(shí)力很強(qiáng)勁的,教你在Unity中通過(guò)BlendShape來(lái)實(shí)現(xiàn)角色面部表情過(guò)渡切換Animation,有需要的朋友可以借鑒參考下2021-09-09關(guān)于vs2019安裝不了擴(kuò)展問(wèn)題的解決方法
這篇文章主要介紹了關(guān)于vs2019安裝不了擴(kuò)展問(wèn)題的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08微信小程序 iPhoneX底部安全區(qū)域(底部小黑條)適配(一分鐘解決)
iPhone X 對(duì)于微信小程序的tabbar來(lái)說(shuō),會(huì)被底部小黑條覆蓋,需要處理,大概思路是,得到手機(jī)型號(hào)、分別判斷樣式。這篇文章主要介紹了微信小程序 iPhoneX底部安全區(qū)域(底部小黑條)適配問(wèn)題,需要的朋友可以參考下2019-10-10