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

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

案例詳解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倉庫都會使用這個配置,當然你也可以對某個倉庫指定的不同的用戶名和郵箱。

5. 安裝 TortoiseGit(可不安裝)

主要是為了查看操作的效果
鏈接:https://pan.baidu.com/s/19lIBz4IFwurxNvzXGgTqRg
提取碼:fmte

四、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號
国产精品99久久久久久宅男| 亚洲欧洲美洲无码精品VA| 低调看JRS直播| 在线成人A毛片免费播放| 性夜影院爽黄A爽免费动漫| 欧美视频一区二区图文| 久久精品人人做人人爽电影| 国产精品无码无片在线观看 | 欧美顶级PPT免费模板网站| 久久99精品久久只有精品| 成人区人妻精品一区二区不卡| 中文字幕夫の上司に犯新沢平兰| 亚洲国产精品人人爽夜夜爽| 挺进绝色老师的紧窄小肉| 国产精品成人网站| 国产成人免费A在线视频| 被下春药爽翻天按摩的人妻| 337P日本欧洲亚洲大胆张筱雨| 亚洲乱码在线卡一卡二卡新区| 无码国内精品久久人妻蜜桃| 色婷婷AV一区二区三区在线观看| 全免费A级毛片免费看视频| 乱码精品一区二区三区| 精品无码人妻少妇久久久久久| 国产乱子伦一区二区三区=| 公园小树中老年交易图片| 粗大黑人巨精大战欧美成人| 成人无码H在线观看网站| 国产乱来乱子视频| 国产伦精品免编号公布| 精品人妻久久久久久888| 精品无人区无码乱码毛片国产| 男人把大JI巴放进女人有视频| 男女啪啪免费观看网站| 菠萝蜜视频在线观看| 性欧美乱妇COME | 日本一区二区在线播放| 欧美性大战XXXXX久久久| 我的妺妺H伦浴室无码视频| 婷婷伊人久久大香线蕉AV| 亚洲色成人网站WWW永久下载 | JAPANESEⅩⅩⅩHD69| AⅤ中文字幕不卡在线无码| chineSe老女人老熟妇hd| AV中文无码乱人伦在线观看| 按摩师的巨大滑进我的身体| 纯肉无遮挡H肉动漫在线观看3D| 狠狠躁夜夜躁人人爽天天5| 久久99九九精品久久久久蜜桃| 强行破瓜稚嫩粗暴顶弄哭喊| 日韩精品无码一区二区三区视频 | JZZIJZZIJ日本成熟少妇| AV网站免费线看精品| 国产啪精品视频网站免费尤物| 久久精品午夜亚洲AV无码少妇| 久久亚洲欧美日本精品| 乱中年女人伦AV二区| 色综合色综合色综合色欲| 亚洲婷婷五月综合狠狠爱| 亚洲精品TV久久久久久久久久 | 国产午夜视频在线观看720P| 韩国三级香港三级日本三级L| 精品国精品国产自在久国产应用男| 精品无人区卡卡二卡三乱码| 人妻巨大乳挤奶水HD免费看| 少妇夜夜爽夜夜春夜夜高潮| 亚洲A∨国产AV综合AV麻豆丫| 亚洲色18成人网站WWW| 成人亚洲A片Ⅴ一区二区小说| 久久久久亚洲AV无码永不| 男女后进式猛烈XX00动态图| 小洞饿了想吃大香肠| 亚洲午夜无码久久久久| 公和我做好爽添厨房| 黑人巨大精品欧美一区二区免费 | 国产精品免费无遮挡无码永久视频| 欧 美 伦乱 内射小说| 色综合久久综合中文综合网| 在线永久免费观看黄网站| 啊~用力CAO我CAO死我视频| 国产乱色精品成人免费视频| 人妻一区二区三区高清AV专区| 无码熟妇ΑⅤ人妻又粗又大| 亚洲综合色婷婷在线观看| WYC忘忧草在线看WWW| 国产精品99久久99久久久| 强壮公的侵犯让我高潮不断 | 丰满多毛的大隂户视频| 精品久久久久久国产潘金莲| 少妇被粗大的猛烈的进出69影院 | 色综合天天无码网站| 99久久久国产精品免费牛牛| 久久午夜无码鲁丝片秋霞小说| 亚洲AV无码兔费综合在线观看| 中国VIDEOSEX高潮对白H| 黄A大片AV永久免费| 天堂无码人妻精品一区二区三区| 亚洲精品无码AV片| ワンピースのエロ.WWW在线| 麻豆传煤入口免费进入2023| 亚洲人成人网站在线观看| 国内精品视频在线观看九九| 欧洲少妇色XXXXX欧美美妇 | 亚洲国产成人A精品不卡在线| 国产精品久久久久精品麻豆| 巨大垂乳日本熟妇挤奶| 熟女作爱一区二区视频| 曰本熟妇色XXXXX曰本妇| 国产成人精品久久久久精品日日| 久久一日本道色综合久久| 亚洲国产精品无码久久久秋霞1| 国产啪亚洲国产精品无码| 玩弄人妻少妇精品视频| 公交车强摁做开腿呻吟| 日韩欧洲在线高清一区| 差差漫画页面在线阅读弹窗在线看| 精品亚洲国产成AV人片传媒| 色老99久久精品偷偷鲁| ZZIJZZIJ亚洲日本少妇J| 欧美熟妇另类久久久久久多毛 | 日本无码视频精品一二三区| 爱性久久久久久久久| 全免费又大粗又黄又爽少妇片 | 日韩欧美人妻系列中文字幕一区二区三区| JIZZ中国JIZZ在线观看| 欧洲S码亚洲M码精品一区| 亚洲国产精品线路久久| 含着她的花蒂啃咬高潮| 亚洲爆乳无码一区二区三区| 嗯~使劲~别停~高H漫画| 麻豆E奶女教师国产精品| 月光影院在线观看免费直播| 没有被爱过的女人| 亚洲国产成人精品无码区二本| 国精品产露脸偷拍视频| 搡搡BB搡搡搡搡BBB| 丰满岳跪趴高撅肥臀| 凸凹人妻人人澡人人添医| 国产精品永久免费视频| 做I爱直播APP| 中文字幕人妻成人综合永久| 久久久久久久波多野结衣高潮| 无码GOGO大胆啪啪艺术| 国产精品人成视频免费播放| 班主任掀开裙子让我桶的| 欧美黑人又粗又大高潮喷水| 亚洲高清毛片一区二区| 久久99精品久久久久久| 在出租屋里被强高H| 欧美VIDEOS另类极品| 被强迫的爱人 电影| 免费A级毛片无码无遮挡| 亚洲国产精品福利片在线观看| 久精品夜色国产亚洲AV| 中国少妇XXXX做受| 欧美一区二区三区红桃小说| 丰满少妇人妻HD高清大乳在线| 西西人体午夜大胆无码视频| 国产Chinese男男做受g片| 日本丰满熟妇BBxBB| VODAFONEWIFI性另类| 色综合久久综合欧美综合网| 国产午夜成人精品视频APP| 亚洲人成人网站色WWW| 妺妺窝人体色聚窝窝www偷窥| 插花弄玉小说荔枝很甜| 西西午夜无码大胆啪啪国模| 久久精品亚洲一区二区三区浴池 | 人妻无码ΑV中文字幕久久| 国产成人AV综合亚洲色欲美女| 亚洲а∨天堂男人色无码蜜臀69 | 久久久久无码精品亚洲日韩| 99精品久久久久久久另类| 久久久无码一区二区三区| AV天堂影音先锋AV色资源网站| 少女たちよ在线观看动漫在线观看 | 天堂资源中文最新版在线一区| 精产国品一二三产品区别视频手机 | 黑人GAY大长雕TUBE| 55岁大妈玩CSGO| 天堂А√资源中文在线地址BT| 九色综合狠狠综合久久| AV鲁丝一区鲁丝二区鲁丝三区| 为老公升职我主动奉献的句子说说| 久久精品国产99精品国产202| 亚洲精品乱码久久久久久| 女人浓毛巨茎ⅩXXOOO| 国产精品久久国产精品99 | 性爱xxxx在线xxxx欧美| 老熟女HDXX中国老熟女| 野花影视大全在线观看免费高清| 久久精品熟女亚洲AV艳妇| А√在线天堂中文| 亚洲AV女人18毛片水真多| 激情偷乱人伦小说视频| FREESEX性中国熟妇| 亚洲AV福利天堂在线观看| 欧美黑人aAAAAAAa| 国产在线观看无遮挡无码AⅤ多人| 亚洲国产美女久久久久|