一、使用Git克隆項(xiàng)目
右鍵選擇Git Bash Here,先進(jìn)行配置賬號(hào)和郵箱
git config --global user.name '賬號(hào)名'git config --global user.email '郵箱'
接下來(lái)進(jìn)行使用 clone 把項(xiàng)目克隆到本地
git clone HTTP路徑/SSH路徑
等待進(jìn)度走完,就可以發(fā)現(xiàn)項(xiàng)目已經(jīng)在本地文件了,這時(shí)候已經(jīng)證明克隆成功。
下面是Git常用的命令,可用于Git初學(xué)者參考
查看遠(yuǎn)程倉(cāng)庫(kù): git remote -v
添加遠(yuǎn)程倉(cāng)庫(kù): git remote add [name] [url]
刪除遠(yuǎn)程倉(cāng)庫(kù): git remote rm [name]
修改遠(yuǎn)程倉(cāng)庫(kù): git remote set-url --push[name][newUrl]
拉取遠(yuǎn)程倉(cāng)庫(kù): git pull [remoteName] [localBranchName]
推送遠(yuǎn)程倉(cāng)庫(kù): git push [remoteName] [localBranchName]
二、Git分支操作常用命令
查看本地分支: git branch
查看遠(yuǎn)程分支: git branch -r
創(chuàng)建本地分支: git branch [name] ----這時(shí)候需要注意使用該命令時(shí)新分支創(chuàng)建后不會(huì)自動(dòng)切換為當(dāng)前分支
切換分支: git checkout [name]
創(chuàng)建新分支并立即切換到新分支: git checkout -b [name]
刪除分支: git branch -d [name] ----注意項(xiàng): -d選項(xiàng)只能刪除已經(jīng)參與了合并的分支,對(duì)于未有合并的分支是無(wú)法刪除的。如果想強(qiáng)制刪除一個(gè)分支,可以使用-D選項(xiàng)
合并分支: git merge [name] ----將名稱為[name]的分支與當(dāng)前分支合并
創(chuàng)建遠(yuǎn)程分支(本地分支push到遠(yuǎn)程): git push origin [name]
刪除遠(yuǎn)程分支: git push origin :heads/[name]
三、Git 提交代碼操作常用命令
查看文件狀態(tài):git status
添加文件:git add * ---注意項(xiàng)此處的*是代表全部,如需指定添加可以把*號(hào)換做指定文件
提交文件:git commit -m ‘提交描述’ ---此時(shí)提交代碼還未提交到遠(yuǎn)程出庫(kù)去,而是在本地出庫(kù)的緩沖區(qū)
推送文件:git push origin master ---此處的master是主支,如需要推送到分支可把master換做分支的名稱
如想忽略一些文件或文件夾不想提交時(shí),就在倉(cāng)庫(kù)根目錄下創(chuàng)建名稱為“.gitignore”的文件,寫(xiě)入不需要的文件名或文件夾名,每個(gè)文件或每個(gè)文件夾占一行,如下列:
文件A
文件B
文件C
即可
四、Git版本操作常用命令
查看版本: git tag
創(chuàng)建版本: git tag [name]
刪除版本: git tag -d [name]
查看遠(yuǎn)程版本: git tag -r
創(chuàng)建遠(yuǎn)程版本(本地版本push到遠(yuǎn)程): git push origin [name]
刪除遠(yuǎn)程版本: git push origin :refs/tags/[name]
五、Git子模板操作常用命令(submodule)
添加子模塊: git submodule add [url] [path]
初始化子模塊: git submodule init ----注意項(xiàng):只在首次檢出倉(cāng)庫(kù)時(shí)運(yùn)行一次就好
更新子模塊: git submodule update ----注意項(xiàng):每次更新或切換分支后都需要運(yùn)行一下
如需刪除子模板則需要以下步驟:
第一在Bash Here中輸入 git rm --cached [path]
第二在 編輯“.gitmodules”文件,將子模塊的相關(guān)配置節(jié)點(diǎn)刪除掉
第三在 編輯“.git/config”文件,將子模塊的相關(guān)配置節(jié)點(diǎn)刪除掉
最后 手動(dòng)刪除子模塊殘留的目錄
六、Git刪除文件操作常用命令
刪除文件: git rm file.txt
提交刪除文件: git commit -m "rm file"
推送文件:git push origin master ---此處的master是主支,如需要推送到分支可把master換做分支的名稱
注意:刪除命令請(qǐng)謹(jǐn)慎使用
恢復(fù)本地被誤刪除的文件:git checkout -- <file> --- 將暫存區(qū)的文件覆蓋本地文件
七、Git回滾操作常用命令
查詢?nèi)罩荆篻it log
回滾到某個(gè)提交的記錄:git reset commit_id
回滾到此次的提交記錄:git reset --hard commit_id
強(qiáng)制推送到遠(yuǎn)端:git push origin HEAD --force
誤刪恢復(fù)時(shí)需要回滾到錯(cuò)誤 commit_id,或者誤刪了某次 commit 記錄,可以通過(guò)下方代碼恢復(fù):
git relog --- 復(fù)制要恢復(fù)操作的hash值
git reset --hard hash ---將hash換成要恢復(fù)的歷史記錄的 hash 值
注意:刪除某次提交時(shí)最好不要用 git reset 回退遠(yuǎn)程庫(kù),因?yàn)橹笃渌擞?git pull 也會(huì)把自己的本地倉(cāng)庫(kù)回退到之前的版本,容易出現(xiàn)差錯(cuò)進(jìn)而增加不必要的工作量
git rebase:兩個(gè)分支不在一條線上,需要執(zhí)行 merge 操作時(shí)使用該命令。
如果中間的某次 commit 需要?jiǎng)h除,可以通過(guò) git rebase 命令實(shí)現(xiàn),方法如下:
git log
git rebase -i commit_id ---將 commit_id 替換成復(fù)制的值
進(jìn)入 Vim 編輯模式,將要?jiǎng)h除的 commit 前面的 `pick` 改成 `drop`
保存并退出 Vim
八、解決沖突操作常用命令
查看沖突內(nèi)容:git diff
手動(dòng)解決沖突:git add <file> 或 git add -A
如果還在rebase狀態(tài)時(shí),可使用git rebase --continue 則重復(fù)之前的步驟,直至 rebase 完成出現(xiàn) applying 字樣
最后git push 提交
放棄某次提交:git revert
撤銷 merge 節(jié)點(diǎn)提交:則需要加上 -m 指令,如git revert commit_id -m '描述'
一、使用Git克隆項(xiàng)目
右鍵選擇Git Bash Here,先進(jìn)行配置賬號(hào)和郵箱git config --global user.name '賬號(hào)名'git config --global user.email '郵箱'
接下來(lái)進(jìn)行使用 clone 把項(xiàng)目克隆到本地
git clone HTTP路徑/SSH路徑
等待進(jìn)度走完,就可以發(fā)現(xiàn)項(xiàng)目已經(jīng)在本地文件了,這時(shí)候已經(jīng)證明克隆成功。
下面是Git常用的命令,可用于Git初學(xué)者參考
查看遠(yuǎn)程倉(cāng)庫(kù): git remote -v
添加遠(yuǎn)程倉(cāng)庫(kù): git remote add [name] [url]
刪除遠(yuǎn)程倉(cāng)庫(kù): git remote rm [name]
修改遠(yuǎn)程倉(cāng)庫(kù): git remote set-url --push[name][newUrl]
拉取遠(yuǎn)程倉(cāng)庫(kù): git pull [remoteName] [localBranchName]
推送遠(yuǎn)程倉(cāng)庫(kù): git push [remoteName] [localBranchName]
二、Git分支操作常用命令
查看本地分支: git branch查看遠(yuǎn)程分支: git branch -r
創(chuàng)建本地分支: git branch [name] ----這時(shí)候需要注意使用該命令時(shí)新分支創(chuàng)建后不會(huì)自動(dòng)切換為當(dāng)前分支
切換分支: git checkout [name]
創(chuàng)建新分支并立即切換到新分支: git checkout -b [name]
刪除分支: git branch -d [name] ----注意項(xiàng): -d選項(xiàng)只能刪除已經(jīng)參與了合并的分支,對(duì)于未有合并的分支是無(wú)法刪除的。如果想強(qiáng)制刪除一個(gè)分支,可以使用-D選項(xiàng)
合并分支: git merge [name] ----將名稱為[name]的分支與當(dāng)前分支合并
創(chuàng)建遠(yuǎn)程分支(本地分支push到遠(yuǎn)程): git push origin [name]
刪除遠(yuǎn)程分支: git push origin :heads/[name]
三、Git 提交代碼操作常用命令
查看文件狀態(tài):git status添加文件:git add * ---注意項(xiàng)此處的*是代表全部,如需指定添加可以把*號(hào)換做指定文件
提交文件:git commit -m ‘提交描述’ ---此時(shí)提交代碼還未提交到遠(yuǎn)程出庫(kù)去,而是在本地出庫(kù)的緩沖區(qū)
推送文件:git push origin master ---此處的master是主支,如需要推送到分支可把master換做分支的名稱
如想忽略一些文件或文件夾不想提交時(shí),就在倉(cāng)庫(kù)根目錄下創(chuàng)建名稱為“.gitignore”的文件,寫(xiě)入不需要的文件名或文件夾名,每個(gè)文件或每個(gè)文件夾占一行,如下列:
文件A
文件B
文件C
即可
四、Git版本操作常用命令
查看版本: git tag創(chuàng)建版本: git tag [name]
刪除版本: git tag -d [name]
查看遠(yuǎn)程版本: git tag -r
創(chuàng)建遠(yuǎn)程版本(本地版本push到遠(yuǎn)程): git push origin [name]
刪除遠(yuǎn)程版本: git push origin :refs/tags/[name]
五、Git子模板操作常用命令(submodule)
添加子模塊: git submodule add [url] [path]初始化子模塊: git submodule init ----注意項(xiàng):只在首次檢出倉(cāng)庫(kù)時(shí)運(yùn)行一次就好
更新子模塊: git submodule update ----注意項(xiàng):每次更新或切換分支后都需要運(yùn)行一下
如需刪除子模板則需要以下步驟:
第一在Bash Here中輸入 git rm --cached [path]
第二在 編輯“.gitmodules”文件,將子模塊的相關(guān)配置節(jié)點(diǎn)刪除掉
第三在 編輯“.git/config”文件,將子模塊的相關(guān)配置節(jié)點(diǎn)刪除掉
最后 手動(dòng)刪除子模塊殘留的目錄
六、Git刪除文件操作常用命令
刪除文件: git rm file.txt提交刪除文件: git commit -m "rm file"
推送文件:git push origin master ---此處的master是主支,如需要推送到分支可把master換做分支的名稱
注意:刪除命令請(qǐng)謹(jǐn)慎使用
恢復(fù)本地被誤刪除的文件:git checkout -- <file> --- 將暫存區(qū)的文件覆蓋本地文件
七、Git回滾操作常用命令
查詢?nèi)罩荆篻it log回滾到某個(gè)提交的記錄:git reset commit_id
回滾到此次的提交記錄:git reset --hard commit_id
強(qiáng)制推送到遠(yuǎn)端:git push origin HEAD --force
誤刪恢復(fù)時(shí)需要回滾到錯(cuò)誤 commit_id,或者誤刪了某次 commit 記錄,可以通過(guò)下方代碼恢復(fù):
git relog --- 復(fù)制要恢復(fù)操作的hash值
git reset --hard hash ---將hash換成要恢復(fù)的歷史記錄的 hash 值
注意:刪除某次提交時(shí)最好不要用 git reset 回退遠(yuǎn)程庫(kù),因?yàn)橹笃渌擞?git pull 也會(huì)把自己的本地倉(cāng)庫(kù)回退到之前的版本,容易出現(xiàn)差錯(cuò)進(jìn)而增加不必要的工作量
git rebase:兩個(gè)分支不在一條線上,需要執(zhí)行 merge 操作時(shí)使用該命令。
如果中間的某次 commit 需要?jiǎng)h除,可以通過(guò) git rebase 命令實(shí)現(xiàn),方法如下:
git log
git rebase -i commit_id ---將 commit_id 替換成復(fù)制的值
進(jìn)入 Vim 編輯模式,將要?jiǎng)h除的 commit 前面的 `pick` 改成 `drop`
保存并退出 Vim
八、解決沖突操作常用命令
查看沖突內(nèi)容:git diff手動(dòng)解決沖突:git add <file> 或 git add -A
如果還在rebase狀態(tài)時(shí),可使用git rebase --continue 則重復(fù)之前的步驟,直至 rebase 完成出現(xiàn) applying 字樣
最后git push 提交
放棄某次提交:git revert
撤銷 merge 節(jié)點(diǎn)提交:則需要加上 -m 指令,如git revert commit_id -m '描述'