成人怡红院-成人怡红院视频在线观看-成人影视大全-成人影院203nnxyz-美女毛片在线看-美女免费黄

站長資訊網
最全最豐富的資訊網站

案例加解析!帶你總結Git常用操作命令

本篇文章給大家帶來了關于Git的相關知識,其中主要通過案例加解析給大家總結了git常用的操作命令,Git 是一個開源的分布式版本控制系統,用于敏捷高效地處理任何或小或大的項目,希望對大家有幫助。

案例加解析!帶你總結Git常用操作命令

推薦學習:《Git教程》

一、Git 概念

Git 是一個開源的分布式版本控制系統,用于敏捷高效地處理任何或小或大的項目,是目前最流行的一個版本管理工具。

二、SVN與Git的最主要的區別

SVN是集中式版本控制系統,版本庫是集中放在中央服務器的,而干活的時候,用的都是自己的電腦,所以首先要從中央服務器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服務器。集中式版本控制系統是必須聯網才能工作,如果在局域網還可以,帶寬夠大,速度夠快,如果在互聯網下,如果網速慢的話,就納悶了。

Git是分布式版本控制系統,那么它就沒有中央服務器的,每個人的電腦就是一個完整的版本庫,這樣,工作的時候就不需要聯網了,因為版本都是在自己的電腦上。既然每個人的電腦都有一個完整的版本庫,那多個人如何協作呢?比如說自己在電腦上改了文件A,其他人也在電腦上改了文件A,這時,你們兩之間只需把各自的修改推送給對方,就可以互相看到對方的修改了。

三、Windows 上安裝 Git

最早Git是在Linux上開發的,很長一段時間內,Git也只能在Linux和Unix系統上跑。不過,慢慢地有人把它移植到了Windows上。現在,Git可以在Linux、Unix、Mac和Windows這幾大平臺上正常運行了。

1. 下載Git

要使用Git,第一步當然是安裝Git了。從 https://git-for-windows.github.io下載(網速慢的請移步國內鏡像),然后按默認選項安裝即可。

2. 安裝步驟

下載完成后,打開進行安裝(按照下圖進行配置)。
案例加解析!帶你總結Git常用操作命令

3. 安裝成功

接下來就只需要靜靜的等待安裝完成了,完成以后在桌面或者任意文件夾的空白位置右鍵,出現下圖所示的兩個菜單欄即表示安裝成功。

案例加解析!帶你總結Git常用操作命令

4. 設置

安裝完之后會彈出一個命令框,我們還需要做最后一步操作,設置標識符。由于 git 是分布式管理工具,所以需要設置用戶名和郵箱作為標識。在彈出框中輸入下面代碼即可。

git config --global user.name "Your Name"git config --global user.email "email@example.com"

注意git config –global 參數,有了這個參數,表示你這臺機器上所有的Git倉庫都會使用這個配置,當然你也可以對某個倉庫指定的不同的用戶名和郵箱。

四、GIt 常用命令解析

1. 初始化

對 Git 進行操作之前你得先創建一個 Git 倉庫,在你需要的位置創建一個空文件夾即可。然后進入該文件夾,然后右擊空白處,點擊 Git Bash Here 對當前文件夾進行 Git 的操作。
案例加解析!帶你總結Git常用操作命令
案例加解析!帶你總結Git常用操作命令

  • 初始化命令
git init
  • 常用命令
cd:進入某個目錄 mkdir:創建一個文件 pwd:顯示當前的目錄路徑 鼠標選中就是復制,粘貼可以右鍵粘貼,也可以用使用快捷鍵:Shift+INS

2. 添加文件到版本庫

2.1 添加到暫存區

  1. 在根目錄新建了一個 a.txt 文件,內容為 aaa;
  2. 使用下面命令把 a.txt 文件添加到暫存區
  • 添加到暫存區命令
git add a.txt

案例加解析!帶你總結Git常用操作命令

  • 添加當前根目錄下的所有文件到暫存區
git add .

2.2 提交到倉庫

  1. 使用下面命令把暫存區的文件提交到版本庫
git commit -m "雙引號里面是注釋——你的提交說明"

案例加解析!帶你總結Git常用操作命令

2.3 為什么 Git 添加文件需要 add、commit 兩個步驟呢?

原因commit可以一次提交很多文件,所以你可以多次add不同的文件

例如

git add file1.txt					 #單個添加文件到暫存區git add file2.txt file3.txt			 #多個添加文件到暫存區git add .   						 #添加當前文件夾下所有文件到暫存區git commit -m "add 3 files."		 #提交所有暫存區的文件

3 查看文件狀態(檢查是否有未提交文件)

3.1 狀態一

使用下面命令檢查當前文件狀態

git status

案例加解析!帶你總結Git常用操作命令
結果:沒有需要提交的文件了;

3.2 狀態二

創建一個新的文件 b.txt,內容為 bbb,再來檢查文件狀態
案例加解析!帶你總結Git常用操作命令
結果存在未跟蹤文件沒有添加到暫存區和提交到版本庫;

3.3 狀態三

添加 b.txt 到暫存區之后,再來檢查文件狀態
案例加解析!帶你總結Git常用操作命令
結果暫存區中有一個新的 b.txt 文件沒有添加到版本庫中;

3.4 狀態四

提交 b.txt 到版本庫之后,然后把 b.txt 內容從 bbb 修改為 bbba,再來檢查文件狀態
案例加解析!帶你總結Git常用操作命令
結果被改變的文件 b.txt 沒有添加到暫存區且沒有提交

4. 查看提交歷史

4.1 先把前面修改的 b.txt 文件添加并提交

git add b.txtgit commit -m "提交修改的 b.txt 文件"

案例加解析!帶你總結Git常用操作命令

4.2 查看歷史

  1. 到目前為止我們一共進行了3次操作,提交 a 和 b,以及修改 b,查看歷史命令如下
git log

案例加解析!帶你總結Git常用操作命令
注意使用上面命令信息多的話會進入 log 模式,想要退出,在英文輸入法的前提下按 q 就可以退出了

  1. 如上圖所示,每次提交都有版本號,時間等信息,這樣看起來比較亂,出現的信息太多,看的眼花,我們可以使用下面命令得到精簡版的日志記錄,讓歷史記錄一行顯示
git log --pretty=oneline

案例加解析!帶你總結Git常用操作命令

  1. 可以對想要查看的歷史日志進行約束,比如想看最近提交的一條歷史日志信息
git log -1

案例加解析!帶你總結Git常用操作命令

4.3 查看提交歷史命令總結

git log						 #查看全部歷史提交記錄git log --pretty=oneline	#精簡顯示所有歷史提交記錄git reflog					 #可以查看所有分支的所有操作記錄(包括已經被刪除的 commit 記錄和 reset 的操作)git log -p					 #查看全部提交歷史并展示每次修改的內容git log -2					 #查看最近2次提交歷史(注意:后面的數字是可以自定義的,也就是說,這種寫法是 git log -n 的體現)git log -p -2				 #查看最近2次提交歷史并展示修改的內容git log --stat				 #查看提交歷史,并展示摘要內容(摘要會列出修改的文件以及每個文件中修改了多少行)

5. 版本回退與恢復

5.1 回退到上一個版本或上幾個版本

  1. 首先,Git必須知道當前版本是哪個版本,在Git中,用HEAD表示當前版本,上一個版本就是HEAD^,上上一個版本就是HEAD^^,當然往上100個版本寫100個^比較容易數不過來,所以寫成HEAD~100
git reset --hard HEAD^

案例加解析!帶你總結Git常用操作命令

  1. 查看回退后的歷史版本信息
    案例加解析!帶你總結Git常用操作命令
    結果從歷史版本信息我們可以看出,我們已經從 “修改 b.txt” 回退到了 “提交 b.txt”,回退之后的當前版本為 “提交 b.txt”

5.2 回退到指定版本

  1. 我們直接復制想要回退位置的版本號,使用下面代碼就可以回退到復制的版本號的位置了
git reset --hard <想要回退的版本號>
  1. 例如:我復制 “提交 a.txt 文件” 的版本號
git reset --hard 6ec9373d22d1a869b67681a39dc04df34292133b

案例加解析!帶你總結Git常用操作命令
結果從查看的歷史版本結果可以看出我們回退到了 “提交 a.txt” 版本

5.3 恢復回退的版本

  1. 有時候我們回退了版本后反悔了,想要返回到回退版本之前,這時我們就需要找到之前的 commit id,但是從上面的查看歷史版本命令可以看出,我們找不到之前的 commit id 了,于是我們可以使用下面命令
git reflog

案例加解析!帶你總結Git常用操作命令

結果reflog 可以查看所有分支的所有操作記錄(包括已經被刪除的 commit 記錄和 reset 的操作)

  1. 假設我們想回退到 “提交修改的 b.txt 文件” 的位置上,也就是歷史版本信息的倒數第三行,我們只需要復制 HEAD 前面的 7a42e7b,然后使用下面命令就可以了
git reset --hard 7a42e7b

案例加解析!帶你總結Git常用操作命令

結果歷史版本信息可以看出我們已經回退到了我們想要的版本

6. 查看不同版本的差異

  1. 當我們們修改完代碼之后沒有添加到暫存區提交,第二天我們忘記了昨天改了什么代碼,這是我們就可以按下面步驟來看不同版本之間的差異;

例如:我們把 b.txt 文件內容修改為為 bbbaaa,然后用下面代碼查看,可以看出我們修改了什么

git diff		# 查看不同版本之間的文件差異

案例加解析!帶你總結Git常用操作命令

7. 修改與撤銷

7.1 修改文件

推薦使用:第一次修改 -> git add -> 第二次修改 -> git add -> git commit

注意建議每次 commit 之前先檢查是否有文件沒有被 add

7.2 撤銷修改

git checkout -- filename

git checkout -- filename可以丟棄工作區的修改:– 后面是一個空格

命令 git checkout -- readme.txt 意思就是,把 readme.txt 文件在工作區的修改全部撤銷,這里有兩種情況:
一:readme.txt 自修改后還沒有被放到暫存區(git add),現在,撤銷修改就回到和版本庫一模一樣的狀態;
二:readme.txt 已經添加到暫存區后,又作了修改,現在,撤銷修改就回到添加到暫存區后的狀態。

總之,就是讓這個文件回到最近一次 git commitgit add 時的狀態。

注意git checkout -- file 命令中的 -- 很重要,沒有 -- ,就變成了**“切換到另一個分支”**的命令,我們在后面的分支管理中會再次遇到 git checkout 命令

8. 刪除文件/緩存

8.1 使用 rm 命令刪除文件

通常直接在文件管理器中把沒用的文件刪了,或者用rm命令刪除,例如:刪除 b.txt

git rm b.txt

刪除步驟

  • rm 刪除文件
  • rm 刪除后會自動添加到暫存區,省略了手動 add 命令
  • 最后進行 commit 提交,文件被刪除
    案例加解析!帶你總結Git常用操作命令
    注意刪除步驟可以通過 reset 撤銷操作撤回

8.2 刪除緩存區

git rm b.txt --cached

b.txt 處于未跟蹤狀態,也就是從暫存區刪除。

特別說明處于未跟蹤狀態只是沒有存在于暫存區,歷史提交記錄中的記錄依然存在。

8.3 清空緩存

所謂的暫存區僅僅是.git目錄下的一個index文件罷了,這也是為了什么被稱為index(索引),當刪除暫存區內容的時候,其實就是刪除index文件中的內容,.git/objects目錄中的內容不會被刪除。

rm .git/index

9. 分支管理

9.1 分支操作命令

git branch						 #查看分支 git branch <name>				 #創建分支git checkout <name>				 #切換分支git checkout -b <name>			 #創建 + 切換分支git merge <name>				 #將某分支合并到當前分支git branch -d <name>			 #刪除分支

案例加解析!帶你總結Git常用操作命令

9.2 開發流程圖

案例加解析!帶你總結Git常用操作命令

五、Git 命令整合

1. 設置全局用戶名和郵箱

命令 作用
git config –global user.name “Your Name” 設置用戶名
git config –global user.email “email@example.com” 設置郵箱

2. 初始化命令

命令 作用
git init 初始化 git,創建 .git 文件

3. 常用命令

命令 作用
cd 進入某個目錄
mkdir 創建一個文件
pwd 顯示當前的目錄路徑
鼠標選中就是復制 復制
直接鼠標右鍵粘貼 / 快捷鍵:Shift+INS 粘貼

4. 添加到暫存區

命令 作用
git add a.txt 添加 a.txt 到暫存區
git add . 添加當前根目錄下的所有文件到暫存區
git commit -m “雙引號里面是注釋——你的提交說明” 把暫存區的文件提交到版本庫(一次全部提交)

5. 查看文件狀態

命令 作用
git status 查看文件狀態(檢查是否有未提交文件)

6. 查看提交歷史

命令 作用
git log 查看全部歷史提交記錄
git log –pretty=oneline 精簡顯示所有歷史提交記錄
git reflog 可以查看所有分支的所有操作記錄(包括已經被刪除的 commit 記錄和 reset 的操作)
git log -p 查看全部提交歷史并展示每次修改的內容
git log -2 查看最近2次提交歷史(注意:后面的數字是可以自定義的,也就是說,這種寫法是 git log -n 的體現)
git log -p -2 查看最近2次提交歷史并展示修改的內容
git log –stat 查看提交歷史,并展示摘要內容(摘要會列出修改的文件以及每個文件中修改了多少行)

7. 版本回退與恢復

命令 作用
git reset –hard HEAD^ 回退到上一個版本
git reset –hard HEAD~N(不是-,是波浪線) 回退到上N個版本
git reset –hard <想要回退的版本號> 回退到指定版本
git reflog 和 git reset –hard <想要回退的版本號>合并使用 恢復回退的版本

8. 查看不同版本的差異

命令 作用
git diff 查看不同版本之間的文件差異

9. 撤銷修改

命令 作用
git checkout – b.txt 一:readme.txt 自修改后還沒有被放到暫存區(git add),現在,撤銷修改就回到和版本庫一模一樣的狀態;
二:readme.txt 已經添加到暫存區后,又作了修改,現在,撤銷修改就回到添加到暫存區后的狀態。

10. 刪除

命令 作用
git rm b.txt rm 刪除文件
rm 刪除后會自動添加到暫存區,省略了手動 add 命令
最后進行 commit 提交,文件被刪除
git rm b.txt –cached 刪除緩存區單個文件,b.txt 處于未跟蹤狀態,也就是從暫存區刪除
rm .git/index 清空所有緩存

11. 分支管理

命令 作用
git branch 查看分支
git branch 創建分支
git checkout 切換分支
git checkout -b 創建 + 切換到新分支
git merge 將某分支合并到當前分支
git branch -d 刪除分支

推薦學習:《Git學習教程》

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
宝宝怎么这么湿~别磨| 久久久久女人精品毛片| 伊人依成久久人综合网| 日韩日韩日韩日韩 日韩 日韩| 成人精品一区二区三区中文字幕| 无人高清影视在线观看| 老司机在线精品视频网站| 成人精品一区二区三区网站| 亚洲大成色WWW永久泡芙| 日本WINDOWS免费吗| 护士长在办公室躁BD| 91麻豆精品无码一区二区三区 | JAPAN丰满少妇VIDEOS| 亚洲AV成人无码精品久久漂雪| 蜜臀av一区二区蜜臀AV免费| 国产精品福利一区二区久久| √天堂资源BT在线官网| 日韩精品无码久久久久久| 精品无人区麻豆乱码1区2| 大象一区一品精区搬运机器| 亚洲午夜国产精品无码老牛影视| 日韩人妻无码系列专区| 浪潮AV激情高潮国产蜜臀| 国产午夜亚洲精品午夜鲁丝片| 伊人久久综合无码成人网| 午夜精品久久久久成人| 人妻无码一区二区三区久| 精品国产一区二区三区免费| 非洲黑人最猛性XXXX交| 重囗味sm在线观看无码| 亚洲欧洲成人A∨在线观看| 玩弄人妻少妇500系列网址| 欧美片内射欧美美美妇| 国产JIZZJIZZ全部免费看| chineSe老女人老熟妇hd| 艳妇乳肉豪妇荡乳在线观看| 亚洲卡1卡2乱码新区仙踪| 亚洲国产精品无码专区成人| 亚洲成AV人无码| 亚洲精品无码专区| 一区二区三区欧美| 在线爱色视频观看免费视频| 中文乱码人妻一区二区三区视频| 再深点灬舒服灬太大了添视频软件| 亚洲欧美综合人成在线| 亚洲国产精品无码久久电影| 亚洲AV日韩专区在线观看 | 真实差差差无掩盖视频30分钟 | 99久久久国产精品免费蜜臀| 亚洲日本一本DVD高清| 中文WWW新版资源在线| 亚洲精品偷拍区偷拍无码| 婷婷无套内射影院| 性色AV无码专区亚洲AV毛片子| 人妻少妇aB又紧又爽精品视频 | CHINESE国产XXXX实拍| 办公室撕开奶罩揉吮奶漫画| 国产 在线 | 日韩| 国内偷拍亚洲欧洲2018| 久久免费99精品国产自在现线| 精品亚洲AV无码喷奶水A漫画| 粗壮挺进人妻水蜜桃成熟漫画| 中文字幕乱码亚洲无线码三区| 亚洲色欲一区二区三区在线观看| 亚洲AV无码专区色爱天堂老鸭窝 | 亚洲精品无码久久久久久| 亚洲国产AⅤ精品一区二区蜜桃| 日韩综合无码一区二区| 色欲精品国产一区二区三区AV | 久久久久精品无码AV| 国产无套粉嫩白浆在线| 反差小青梅不经C1V1| FREE性丰满HD性欧美| FREE性欧美精品VIDEOS| 99精品国产在热久久无毒不卡| 一本之道AV不卡精品| 又硬又大又长又粗又深| 99RE久久精品国产| 最新国产精品拍自在线观看| 成年女人免费观看播放视频| 饭桌上故意张开腿让公在线看| 国产一产二产三精华液| 老妇高潮潮喷到猛进猛出| 日本又黄又爽GIF动态图| 亚洲AV无码乱码在线观看性色扶 | 精品国产污污免费网站| 男女裸交免费无遮挡全过程| 视频在线一区二区| 亚洲日本乱人伦片中文| 饱满的乳被揉捏玩弄| 精产国品一二三产品区别视频手机| 男人用嘴添女人下身免费视频| 亚洲成AV人最新地堂无码| ZLJZLJZLJ日本人| 夫妇联欢会回不去的夜晚| 国产丰满麻豆HDXVIDEOS| 久久久久久精品毛片A级蜜桃| 麻豆AⅤ精品无码一区二区| 久久综合九色综合欧美婷婷| 少妇太爽了在线观看免费视频| 无码国产精品一区二区免费模式 | 国产情侣一区二区| 免费A级毛片无码A∨蜜芽| 午夜福制92视频| 办公室被吃奶好爽在线观看 | 又色又爽又黄18禁美女裸身无遮| 亚洲综合色区另类AV| AV香港经典A毛片免费观看| 国产精品无码久久AV| 国产日产欧产精品精品首页| 好吊妞人成视频在线观看强行| 久久国产精品99久久人人澡| 少妇CHINA中国人妻VIDE| 亚洲无码一区二区三区| 国产免费久久精品国产传媒| 欧美黑人又粗又大高潮喷水| 亚洲人成色4444在线观看| CHINESE叫床VIDEOS| 韩国三级大乳在线观看| 让人爽到湿的小黄书软件下载| 亚洲AⅤ无码乱码在线观看性色| 中文字幕人成无码免费视频| 好吊妞国产欧美日韩免费观看| 熟妇高潮一区二区麻豆Av渉谷 | 中文字幕乱码人妻无码久久| 吃奶呻吟打开双腿做受视频 | 13277大但人文艺术日本活动| 精产国品一二三产区9977| 天天狠天天透天干天干| 99精品视频九九精品视频| 精品水蜜桃久久久久久久| 少女たちよ在线观看动漫| 影音先锋每日AV色资源站| 国产精品久久自在自线| 欧美性生交XXXXX免费观看| 中文字幕日韩人妻不卡一区| 国产亚洲曝欧美不卡精品| 任你躁国产自任一区二区三区| 永久免费AV无码不卡在线观看 | 色综合天天综合网天天小说| 中文无码日韩欧免费视频APP | 亚洲AV无码专区国产乱码不卡| 国产日韩AV在线播放| 侮辱丰满美丽的人妻| 吃瓜爆料网不打烊| 熟妇人妻中文AV无码| 布丁漫画土豪漫画入口页面| 人妻仑乱A级毛片免费看| TPU色母和子色母的性能| 免费无码观看的AV在线播放| 99久久人妻精品免费一区| 人妻少妇看A偷人无码| 2020精品国产自在现线看| 欧洲人妻丰满AV无码久久不卡| 成 人 黄 色 网 站 视 频| 日本乱偷互换人妻中文字幕| 69日本人XXXX16-18| 日本高清无卡码一区二区| JAPONENSIS性护士| 色欲av蜜臀一区二区三区多少| 丰满少妇高潮惨叫久久久| 掀开老师的裙子挺进去| 国产精品怡红院在线观看| 午夜A级理论片在线播放717| 精品无码久久久久久国产| 性欧美牲交在线视频| 色诱久久久久综合网YWWW| 高清乱码一区二区三区| 亚洲欧洲日产国码无码AV一| 国产精品-区区久久久狼| 日日噜噜夜夜狠狠VA视频| 国内揄拍高清国内精品对白| 在人线AV无码免费高潮喷水| 色欲AV伊人久久大香线蕉影院| 精品无码久久久久国产| 夫目前侵犯一区二区三区| 亚洲午夜无码毛片av| 日本乱妇乱子视频网站-百度 | 人人妻人人澡人人爽人人蜜臀 | 亚洲综合色区在线观看| 天堂AV无码大芭蕉伊人AV| 久久AV无码精品人妻系列果冻| 宝贝别忍着喷出来| 亚洲V欧美V国产V在线观看| 日本JAPANESE醉酒人妻| 久久综合精品国产二区无码| 扒开腿挺进湿润的花苞| 性色AV无码专区亚洲AV毛片子| 欧美日韩精品一区二区在线播放 | 欧美午夜性春猛交ⅩXXX男| 国内精品自线在拍大学生| 草莓榴莲秋葵绿丝污免费版18| 中国老太婆BB无套内射| 小浪货腿打开水真多真紧| 免费稀缺拗女一区二区| 国产亚洲精久久久久久无码77777 国产亚洲精久久久久久无码777 | 丰满人妻熟妇乱又伦精品APP| 中文字日产幕码三区做法| 亚洲高清AⅤ日本欧美视频| 香蕉国产成版人视频APP|