本篇博客主要講解以下問題:
Git 常用命令
創(chuàng)建新倉庫
檢出倉庫
添加與提交
推送改動
分支
更新與合并
標(biāo)簽
替換本地改動
Git實(shí)例教程
操作小技巧
Git 常用命令常用命令
創(chuàng)建新倉庫
創(chuàng)建新文件夾,打開,然后執(zhí)行
git init
以創(chuàng)建新的 git 倉庫。
檢出倉庫
執(zhí)行如下命令以創(chuàng)建一個本地倉庫的克隆版本:
git clone /path/to/repository
如果是遠(yuǎn)端服務(wù)器上的倉庫,你的命令會是這個樣子:
git clone username@host:/path/to/repository
工作流
你的本地倉庫由 git 維護(hù)的三棵“樹”組成。第一個是你的 工作目錄,它持有實(shí)際文件;第二個是 緩存區(qū)(Index),它像個緩存區(qū)域,臨時保存你的改動;最后是 HEAD,指向你最近一次提交后的結(jié)果。
添加與提交
你可以計(jì)劃改動(把它們添加到緩存區(qū)),使用如下命令:
git add filename>
git add *
# 添加所有文件
git add .
這是 git 基本工作流程的第一步;使用如下命令以實(shí)際提交改動:
git commit -m "代碼提交信息"
現(xiàn)在,你的改動已經(jīng)提交到了 HEAD,但是還沒到你的遠(yuǎn)端倉庫。
推送改動
你的改動現(xiàn)在已經(jīng)在本地倉庫的 HEAD 中了。執(zhí)行如下命令以將這些改動提交到遠(yuǎn)端倉庫:
git push origin master
可以把 master 換成你想要推送的任何分支。
如果你還沒有克隆現(xiàn)有倉庫,并欲將你的倉庫連接到某個遠(yuǎn)程服務(wù)器,你可以使用如下命令添加:
# 注意 server必須是存在的倉庫
git remote add origin server>
git remote add origin https://github.com/gdutxiaoxu/test2.git
該命令是移除本地緩存已有的remote信息
git remote remove origin
如此你就能夠?qū)⒛愕母膭油扑偷剿砑拥姆?wù)器上去了。
分支
分支是用來將特性開發(fā)絕緣開來的。在你創(chuàng)建倉庫的時候,master 是“默認(rèn)的”。在其他分支上進(jìn)行開發(fā),完成后再將它們合并到主分支上。
創(chuàng)建一個叫做“feature_x”的分支,并切換過去:
git checkout -b feature_x
切換回主分支:
git checkout master
切換回分支:
git checkout branch>
git checkout feature_x
再把新建的分支刪掉:
git branch -d feature_x
除非你將分支推送到遠(yuǎn)端倉庫,不然該分支就是 不為他人所見的:
git push origin branch>
git push origin feature_x
更新與合并
要更新你的本地倉庫至最新改動,執(zhí)行:
git pull
以在你的工作目錄中 獲?。╢etch) 并 合并(merge) 遠(yuǎn)端的改動。
要合并其他分支到你的當(dāng)前分支(例如 master),執(zhí)行:
git merge branch>
git merge feature_x
兩種情況下,git 都會嘗試去自動合并改動。不幸的是,自動合并并非次次都能成功,并可能導(dǎo)致 沖突(conflicts)。 這時候就需要你修改這些文件來人肉合并這些 沖突(conflicts) 了。改完之后,你需要執(zhí)行如下命令以將它們標(biāo)記為合并成功:
git add filename>
在合并改動之前,也可以使用如下命令查看:
git diff source_branch> target_branch>
標(biāo)簽
在軟件發(fā)布時創(chuàng)建標(biāo)簽,是被推薦的。這是個舊有概念,在 SVN 中也有??梢詧?zhí)行如下命令以創(chuàng)建一個叫做 1.0.0 的標(biāo)簽:
git tag 1.0.0 1b2e1d63ff
1b2e1d63ff 是你想要標(biāo)記的提交 ID 的前 10 位字符。使用如下命令獲取提交 ID:
git log
你也可以用該提交 ID 的少一些的前幾位,只要它是唯一的。
替換本地改動
假如你做錯事(自然,這是不可能的),你可以使用如下命令替換掉本地改動:
git checkout -- filename>
此命令會使用 HEAD 中的最新內(nèi)容替換掉你的工作目錄中的文件。已添加到緩存區(qū)的改動,以及新文件,都不受影響。
假如你想要丟棄你所有的本地改動與提交,可以到服務(wù)器上獲取最新的版本并將你本地主分支指向到它:
git fetch origin
git reset --hard origin/master
有用的貼士
內(nèi)建的圖形化 git:
gitk
彩色的 git 輸出:
git config color.ui true
顯示歷史記錄時,只顯示一行注釋信息:
git config format.pretty oneline
交互地添加文件至緩存區(qū):
git add -i
到此 git常用的命令已經(jīng) 講解完畢,下面開始講解Git 實(shí)例教程
Git實(shí)例教程
大概分為以下兩步
實(shí)例教程
github賬號的注冊與Repo的創(chuàng)建
Github注冊
打開https://github.com/,在下圖的框中,分別輸入自己的用戶名,郵箱,密碼。
然后前往自己剛才填寫的郵箱,點(diǎn)開Github發(fā)送給你的注冊確認(rèn)信,確認(rèn)注冊,結(jié)束注冊流程。
一定要確認(rèn)注冊,否則無法使用gh-pages!
創(chuàng)建代碼庫
登陸之后,點(diǎn)擊頁面右上角的加號,選擇New repository:
新建代碼庫
進(jìn)入代碼庫創(chuàng)建頁面:
到此我們就創(chuàng)建好了repo,地址 為:https://github.com/gdutxiaoxu/test.git
實(shí)例教程
這里我們把倉庫建在 G://test 目錄下
首先打開命令行,進(jìn)入G 盤,輸入以下命令
# 在 test目錄下創(chuàng)建 README.md 文件 echo "# test" >> README.md
接著初始化倉庫
git init
可以看到如下圖片的效果
將 README.md 文件添加到版本控制
git add README.md
提交文件到本地緩存,并添加說明
git commit -m "first commit"
將本地倉庫與遠(yuǎn)程倉庫 https://github.com/gdutxiaoxu/test.git 聯(lián)系起來
git remote add origin https://github.com/gdutxiaoxu/test.git
將本地倉庫緩存的文件提交到遠(yuǎn)程倉庫中
git push -u origin master
如果你沒有配置ssh ,那么在這里需要輸入你的github 賬戶的用戶名和密碼
正確輸入你的用戶名和密碼后,可以看到
同時我們登陸我們的github 倉庫 : https://github.com/gdutxiaoxu/test.git ,可以看到:
說明已經(jīng)提交成功了。
注意事項(xiàng):如果我們本地已經(jīng)存在倉庫了,那我們只需要執(zhí)行以下命令就可以將我們本地倉庫與遠(yuǎn)程綁定起來
git remote add origin https://github.com/gdutxiaoxu/test.gitgit push -u origin mastergit pull https://github.com/gdutxiaoxu/test.git master
如果本地倉庫已經(jīng)綁定別的遠(yuǎn)程倉庫,我們可以用以下命令將其刪除相應(yīng)的倉庫信息
# 該命令是移除本地緩存已有的remote信息git remote remove origin
如果我們remote repo (即遠(yuǎn)端倉庫已經(jīng)存在了),那么我們只需要執(zhí)行以下命令就OK了
git clone https://github.com/gdutxiaoxu/test.git "you path"
比如我們想儲存在 G://test 目錄下,那么我們可以輸入一下命令
git clone https://github.com/gdutxiaoxu/test.git G://test
效果圖如下
操作小技巧
有時候在cmd 窗口中,你會發(fā)現(xiàn)復(fù)制,粘貼的快捷鍵失效了,對我們開發(fā)者來說很不方便,拿我們有什么解決方法你? 哈哈,就是開啟快速插入模式。
右鍵點(diǎn)擊,點(diǎn)擊cmd 窗口
選擇快速插入模式,在Cmd 窗口,按右鍵,就能實(shí)現(xiàn)粘貼了。
同理,在git bash 窗口也是這樣,這樣就不在闡述了。
您可能感興趣的文章:- 手把手教你使用Git(圖文教程)
- git使用教程(最詳細(xì)、最傻瓜)
- Git的簡單理解及基礎(chǔ)操作命令詳解
- Git ssh 配置及使用方法
- Git 常用命令速查表(圖文+表格)
- git工具常用命令及ssh操作方法