一、安裝配置Git(系統(tǒng):Windows 10 64位)
1.移步Git官網(wǎng)下載安裝。
2.每個(gè)倉庫的Git配置文件為.git/config文件,當(dāng)前用戶的Git配置文件為用戶主目錄下的.gitconfig文件。運(yùn)行"Git->Bash",可進(jìn)行以下配置:(--global表示這些命令在這臺電腦的所有Git倉庫下都有用,不加則只針對當(dāng)前倉庫起作用)
$ git config --global user.name <"your name"> #指定用戶名
$ git config --global user.email <"email@example.com"> #指定email地址
$ git config --global color.ui true # 讓Git適當(dāng)?shù)仫@示不同的顏色
3.忽略文件
需要忽略的文件一般是放在Git工作目錄且不能提交的文件,包括操作系統(tǒng)自動(dòng)生成的文件,編譯生成的中間文件、可執(zhí)行文件等,自己的帶有敏感信息的配置文件等。
此時(shí)要在Git工作區(qū)的根目錄下創(chuàng)建一個(gè).gitignore文件,然后把要忽略的文件名填進(jìn)去,Git就會(huì)自動(dòng)忽略這些文件。GitHub已經(jīng)為我們準(zhǔn)備了各種配置文件,只需要組合一下就可以編寫.gitignore文件。
$ vim .gitignore # 創(chuàng)建.gitignore文件(類Linux)
$ git add -f # 強(qiáng)制添加已忽略的文件
$ git check-ignore -v # 檢查.gitignore對該文件的忽略規(guī)則
4.配置別名
$ git config --global alias.
$ git config --global alias. <'command_phrase'>
設(shè)置完之后可以直接使用 git
刪除別名可以通過修改配置文件的[alias]字段。
二、創(chuàng)建版本庫(Repository)
1.創(chuàng)建一個(gè)空目錄來存放版本庫:
$ mkdir
$ cd
2.使用Git初始化版本庫
$ git init
3.把文件添加到版本庫中(首先確保該文件在版本庫所在的目錄下)
$ git add
$ git add # 把要提交的所有修改放到暫存區(qū)(Stage/Index)
$ git /* . # 添加指定目錄下所有(指定類型)的文件
$ git add --all # 添加當(dāng)前目錄下所有文件
...
$ git commit -m <"message"> # 一次性把暫存區(qū)的所有修改提交到分支
三、版本管理
$ git status # 查看工作區(qū)當(dāng)前的狀態(tài)
$ git diff # 查看具體修改的內(nèi)容
$ git reset --hard # 根據(jù)前幾位版本號回退到指定版本,其中HEAD表示當(dāng)前版本
$ git log # 查看提交歷史,以便確定要回退到哪個(gè)版本
$ git reflog # 查看命令歷史,以便確定要回到未來的哪個(gè)版本
$ git checkout -- # 撤銷工作區(qū)的修改;把誤刪的文件恢復(fù)到最新版本(用版本庫的版本替換工作區(qū)的版本)
$ git reset HEAD # 撤銷暫存區(qū)的修改
$ git rm # 從版本庫中刪除該文件
四、使用Github管理Git遠(yuǎn)程倉庫
1.創(chuàng)建SSH密鑰:
$ ssh-keygen -t rsa -C <"email@example.com">
生成的私鑰和公鑰分別保存在用戶主目錄里的.ssh目錄的id_rsa和id_rsa.pub兩個(gè)文件中。
2.登陸GitHub,Settings->Add SSH Key->在Key文本框里粘貼id_rsa.pub文件的內(nèi)容->Add Key。 由于Git支持SSH協(xié)議,這樣GitHub可以通過你的公鑰確認(rèn)只有你自己才能推送并識別出你推送的提交確實(shí)是你推送的。
3.Create a new repo->填寫Repository name->Create repository,創(chuàng)建一個(gè)新的Git倉庫。
$ git remote add origin git@github.com:/.git # 將本地庫與遠(yuǎn)程庫關(guān)聯(lián)起來(使用ssh支持的git協(xié)議,速度較快)
$ git remote add origin https://github.com//.git # 將本地庫與遠(yuǎn)程庫關(guān)聯(lián)起來(使用https協(xié)議)
$ git push [-u] origin master # 把本地庫的所有內(nèi)容推送到遠(yuǎn)程庫上(-u表示第一次推送,遠(yuǎn)程倉庫的默認(rèn)名稱為origin)
$ git clone git@github.com:/.git # 克隆一份遠(yuǎn)程庫到本地
4.多人協(xié)作的工作模式
$ git remote [-v] # 查看遠(yuǎn)程庫信息(-v顯示可以抓取和推送的origin地址)
$ git checkout -b origin/ # 在本地創(chuàng)建和遠(yuǎn)程分支對應(yīng)的分支
$ git branch --set-upstream-to=origin/ # 建立本地分支和遠(yuǎn)程分支的關(guān)聯(lián)
$ git push origin # 從本地推送分支(若推送失敗,則需先抓取遠(yuǎn)程的新提交)
$ git pull # 抓取遠(yuǎn)程庫中的最新提交(進(jìn)行合并,若有沖突先解決沖突再重新推送)
5.參與開源項(xiàng)目
開源項(xiàng)目倉庫->"Fork"即克隆到自己賬號下->“git clone”克隆到本地->修改推送到自己的遠(yuǎn)程庫->發(fā)起pull requset等待開源項(xiàng)目庫接受
五、分支管理
$ git branch # 查看分支
$ git branch # 創(chuàng)建分支
$ git checkout / git switch # 切換分支
$ git checkout -b / git switch -c # 創(chuàng)建并切換分支
$ git merge [--no-ff -m <"message">] # 合并某分支到當(dāng)前分支(--no-ff表示禁用Fast forward模式,在這種模式下刪除分支會(huì)丟掉分支信息,禁用后從分支歷史上可以看出分支信息)
$ git branch -d # 刪除分支(若該分支未被合并會(huì)報(bào)錯(cuò))
$ git branch -D # 強(qiáng)制刪除分支
$ git log --graph [ --pretty=oneline --abbrev-commit] # 查看分支合并圖
$ git stash # 保存當(dāng)前工作現(xiàn)場
$ git stash list # 查看保存的工作現(xiàn)場列表
$ git stash apply [stash@{}] # 恢復(fù)工作現(xiàn)場但不刪除stash內(nèi)容(默認(rèn)恢復(fù)0號stash,也可根據(jù)stash_id恢復(fù)指定的stash)
$ git stash drop # 刪除stash內(nèi)容
$ git stash pop # 恢復(fù)工作現(xiàn)場并刪除stash內(nèi)容
$ git cherry-pick # 復(fù)制特定的提交到當(dāng)前分支
$ git rebase # 把本地未push的分叉提交歷史整理成直線
當(dāng)Git無法自動(dòng)合并分支時(shí),就必須先解決沖突,即把Git合并失敗的文件手動(dòng)修改為希望提交的內(nèi)容,再提交,合并完成。
六、標(biāo)簽管理
$ git tag # 查看所有標(biāo)簽
$ git tag [-a] [-m <"message">] [commit_id] # 加標(biāo)簽(默認(rèn)打在當(dāng)前分支的最新提交上,也可根據(jù)commit_id打標(biāo)簽,-a指定標(biāo)簽名,-m指定說明文字)
$ git show # 查看標(biāo)簽信息
$ git tag -d # 刪除標(biāo)簽
$ git push origin # 推送一個(gè)本地標(biāo)簽
$ git push origin --tags # 推送全部未推送過的本地標(biāo)簽
$ git push origin :refs/tags/ # 刪除一個(gè)遠(yuǎn)程標(biāo)簽
最后附學(xué)習(xí)源泉傳送門:Git官網(wǎng) 廖雪峰老師的Git教程
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。