本文的內(nèi)容有下面的幾點:
1、本地倉庫的操作指令
2、倉庫的遠(yuǎn)程操作
2.1、遠(yuǎn)程倉庫操作
2.2、從遠(yuǎn)程倉庫獲取項目
2.3、上傳項目到遠(yuǎn)程倉庫
3、其他的指令
3.1、查看配置信息
3.2、查看倉庫狀態(tài)
3.3、刪除版本庫中的文件
3.4、查看文件中修改了的內(nèi)容
3.5、查看歷史記錄
3.6、還原文件(回退)
4、分支管理指令
4.1、創(chuàng)建分支:
4.2、切換分支:
4.3、合并分支命令:
4.4、列出分支
4.5、分支合并
4.6、刪除分支
5、遠(yuǎn)程庫的基本指令整理
Git 的工作就是創(chuàng)建和保存你項目的快照及與之后的快照進(jìn)行對比。
Git 常用的命令有:
1)git clone - 克隆倉庫內(nèi)容
2)git push - 推送到遠(yuǎn)程倉庫
3)git add - 向本地倉庫中添加文件
4)git commit - 提交工作區(qū)內(nèi)容到版本庫
5)git checkout -
6)git pull - 從遠(yuǎn)程倉庫拉取內(nèi)容到工作臺
說明:
1)workspace — 工作區(qū)
2)staging area — 暫存區(qū)/緩存區(qū)
3)local repository — 版本庫或本地倉庫
4)remote repository — 遠(yuǎn)程倉庫
1、本地倉庫的操作指令
簡單的操作指令如下:
$ git init
$ git add .
$ git commit
1)git init - 初始化倉庫。該命令執(zhí)行完后會在當(dāng)前目錄生成一個 .git 目錄,所有 Git 需要的數(shù)據(jù)和資源都存放在這個目錄中。
2)git add . - 添加文件到暫存區(qū)。如果當(dāng)前目錄下有幾個文件想要納入版本控制,需要先用 git add 命令告訴 Git 開始對這些文件進(jìn)行跟蹤,然后提交。
3)git commit - 將暫存區(qū)的內(nèi)容提交到本地倉庫。所有的更新都會被提交,包括文件、內(nèi)容更改等。
2、倉庫的遠(yuǎn)程操作
2.1、遠(yuǎn)程倉庫操作
git remote 命令用于在遠(yuǎn)程倉庫的操作。如下所示:
1)顯示所有遠(yuǎn)程倉庫:
git remote -v
2)添加遠(yuǎn)程版本庫:
git remote add [別名] [url 地址]
3)刪除遠(yuǎn)程倉庫
git remote rm name
4)修改倉庫名
git remote rename old_name new_name
2.2、從遠(yuǎn)程倉庫獲取項目
git clone [項目地址]
git pull [項目地址]
git fetch [項目地址]
git merge [目標(biāo)地址]/[分支]
git clone - 從遠(yuǎn)程庫中克隆項目到本地,是一個包含整個項目的版本庫文件夾。該命令通常用于新用戶 clone 項目,熟練之后基本都是用 git pull直接拉取項目。
**git pull - **從遠(yuǎn)程倉庫下載代碼并合并到本地倉庫中。
**git fetch - **從遠(yuǎn)程倉庫獲取最新的更新內(nèi)容(即本地沒有的數(shù)據(jù))。
git merge - 將遠(yuǎn)程倉庫上的所有更新內(nèi)容(假設(shè)已經(jīng)被推送到服務(wù)器了)合并到你的當(dāng)前分支。
2.3、上傳項目到遠(yuǎn)程倉庫
從將本地的分支版本上傳到遠(yuǎn)程并合并可以使用 git push,如下:
git push <遠(yuǎn)程主機(jī)名> <本地分支名>:<遠(yuǎn)程分支名>
如果本地分支名與遠(yuǎn)程分支名相同,可以省略冒號:
git push <遠(yuǎn)程主機(jī)名> <本地分支名>
注意:
1)如果本地版本與遠(yuǎn)程版本有差異,但又要強(qiáng)制推送可以使用 --force 參數(shù):
git push --force origin master
2)刪除主機(jī)的分支可以使用 --delete 參數(shù),以下命令表示刪除 origin 主機(jī)的 master 分支:
git push origin --delete master
3、其他的指令
3.1、查看配置信息
git config --list
3.2、查看倉庫狀態(tài)
git status
git status 命令用于查看在你上次提交之后是否有對文件進(jìn)行再次修改。
3.3、刪除版本庫中的文件
git rm xxx.txt
注意:這個命令使用了之后,要 git commit -m “xxx”之后才算是真正的刪除了。
如果刪除之前修改過并且已經(jīng)放到暫存區(qū)域的話,則必須要用強(qiáng)制刪除選項 -f。
git rm -f xxx
如果想把文件從暫存區(qū)域移除,但仍然希望保留在當(dāng)前工作目錄中,即從跟蹤清單中刪除,使用 --cached 選項即可:
git rm --cached <file>
3.4、查看文件中修改了的內(nèi)容
git diff xxx.txt 比較當(dāng)前工作空間與staging area,查看工作空間的變化
git diff --cached 比較staging area與本地倉庫,查看暫存區(qū)中變化
git diff HEAD 比較當(dāng)前工作空間與本地倉庫
git diff newbranch 比較當(dāng)前工作空間與newbranch分支
git diff tag1 tag2 比較tag1與tag2
git diff tag1:file1 tag2:file2 比較tag1的file1與tag2的file2
git diff tag1 tag2 file 比較tag1與tag2的file文件
git diff --stat 統(tǒng)計有差異的文件個數(shù)
3.5、查看歷史記錄
git log
git log
查看全部提交日志
git log -5
查看最近5次的提交日志
git log –p
查看所有提交日志及修改的內(nèi)容
git log –p --author=“scott”
查看所有scott提交日志及修改內(nèi)容
git log --since=“2011-05-24”
查看2011-05-24以后所有的提交日志
git log --graph
查看提交日志,以圖形方式顯示
git log --since=“2 days ago”
查看這兩天的提交日志
git log --until=“2011-05-25”
查看截止2011-05-25所有的提交日志
git log --name-only
查看所有修改過的文件
git log --pretty=oneline
查看提交日志,一行顯示
git log --pretty=format:%h:%s
查看提交日志,顯示sha1及提交comments
3.6、還原文件(回退)
git revert和git reset的區(qū)別:
git revert 是撤銷某次操作,此次操作之前的commit都會被保留
git reset 是撤銷某次提交,但是此次之后的修改都會被退回到暫存區(qū)
git reset --hard
取消commit,取消add,取消源文件修改
git reset --soft
取消commit
git reset --mixed
取消commit,取消add,是默認(rèn)模式
git reset --hard HEAD (比較下)
恢復(fù)到HEAD狀態(tài)
git reset --hard HEAD^
徹底撤銷最近一次提交
git reset --hard HEAD~3
徹底撤銷最近3次提交
git reset --soft HEAD~3
撤銷最近3次commit,恢復(fù)到index狀態(tài),并且工作空間文件內(nèi)容不變
git reset HEAD filename
刪除暫存的文件
git revert
撤銷某次提交,此次操作之前的commit都會被保留,但撤銷也會作為一次提交進(jìn)行保存。
git commit --amend
修改最后一次提交。
如果上次提交時遺漏了文件,可以在提交后將文件加入緩存然后用該命令提交即可。
如果緩存中內(nèi)容沒有任何修改,只更新修改的提交注釋。
回退版本之后,如果推送遠(yuǎn)程庫是發(fā)生錯誤信息時可以用:
git push -f [ ] [ ] 強(qiáng)推上去
4、分支管理指令
幾乎所有的版本控制系統(tǒng)都可以支持分支。使用分支意味著你可以從開發(fā)主線上分離開來,然后在不影響主線的情況下繼續(xù)開展你自己的工作。
4.1、創(chuàng)建分支:
git branch (branchname)
git checkout -b (branchname) //創(chuàng)建新分支并立即切換到該分支下
4.2、切換分支:
git checkout (branchname)
當(dāng)你切換分支的時候,Git 會用該分支的最后提交的快照替換你的工作目錄的內(nèi)容, 所以多個分支不需要多個目錄。
4.3、合并分支命令:
git merge
你可以多次合并到統(tǒng)一分支, 也可以選擇在合并之后直接刪除被并入的分支。
4.4、列出分支
列出分支基本命令:
git branch
沒有參數(shù)時,git branch 會列出你在本地的分支。
$ git branch
* master
這里的意思是:有一個叫做 master 的分支,并且該分支是當(dāng)前分支。
注意:當(dāng)你執(zhí)行 git init 的時候,默認(rèn)情況下 Git 就會為你創(chuàng)建 master 分支。
4.5、分支合并
一旦某分支有了獨立內(nèi)容,你最終會希望將它合并回到你的主分支。你可以使用以下命令將任何分支合并到當(dāng)前分支中去:
git merge [分支名]
4.6、刪除分支
合并完后就可以刪除分支:
$ git branch -d newtest
Deleted branch newtest (was c1501a2).
刪除后, 就只剩下 master 分支了:
$ git branch
* master
5、遠(yuǎn)程庫的基本指令整理
git clone | 從遠(yuǎn)程庫中克隆項目到本地,是一個包含整個項目的版本庫文件夾。該命令通常用于新用戶 clone 項目,后面基本都是用 git pull。 |
---|---|
git remote | 查看遠(yuǎn)程庫的別名(進(jìn)入 clone 下來的文件夾中執(zhí)行該命令,別名默認(rèn)是 origin) |
git remote –v | 查看遠(yuǎn)程庫的別名和倉庫地址。如返回: origin git@gitee.com:ivyli2019/test.git |
git push origin master | 把本地 master 分支推送到別名為 origin 的遠(yuǎn)程庫 |
git remote add mytest [url] | 添加/關(guān)聯(lián)一個遠(yuǎn)程倉庫,并起別名為 mytest,可自定義別名。 |
git remote remove mytest | 刪除遠(yuǎn)程庫的 mytest 別名 |
git branch -a | 查看當(dāng)前所有的分支,默認(rèn)只有 master 分支 |
git branch test | 創(chuàng)建 test 分支 |
git branch –d test | 刪除 test 分支 |
git checkout test | 從當(dāng)前分支切換到 test 分支 |
git checkout –b dev | 創(chuàng)建 dev 分支,并切換到 dev 分支上 |
git merge dev | 在當(dāng)前分支上合并 dev 分支 |
命令 | 說明 |
---|---|
git add | 添加文件到倉庫 |
git status | 查看倉庫當(dāng)前的狀態(tài),顯示有變更的文件。 |
git diff | 比較文件的不同,即暫存區(qū)和工作區(qū)的差異。 |
git commit | 提交暫存區(qū)到本地倉庫。 |
git reset | 回退版本。 |
git rm | 刪除工作區(qū)文件。 |
git mv | 移動或重命名工作區(qū)文件。 |
命令 | 說明 |
---|---|
git log | 查看歷史提交記錄 |
git blame | 以列表形式查看指定文件的歷史修改記錄 |
-
項目
+關(guān)注
關(guān)注
0文章
34瀏覽量
17679 -
Git
+關(guān)注
關(guān)注
0文章
203瀏覽量
16090
發(fā)布評論請先 登錄
Git常用的超級實用命令

邏輯操作指令
Git Hooks持續(xù)集成詳解
Git 命令+原理 程序員必備的基礎(chǔ)

通俗易懂的Git各指令的本質(zhì)
位操作指令

GIT合代碼的經(jīng)典操作場景
利用Learn Git Branching輕松學(xué)習(xí)Git
如何設(shè)置Git的SSH秘鑰

git rebase和git merge的區(qū)別

Git是什么 Git介紹

Git撤消操作的方法
git基本操作命令用法

評論