日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

git 修改commit_Git从8到13 深入了解Git特性

發布時間:2025/3/12 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 git 修改commit_Git从8到13 深入了解Git特性 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

上一章簡單的介紹了一些常用的Git命令,這一章主要是深入了解一下Git的稍微高級的一些知識和指令。

8.首先我們先來通過查看Git目錄里面的文件來深入了解一下Git版本控制的構造。

查看HEAD可以知道當前所在的分支。

在config文件里面存儲著Git里面的一些配置信息,不同的Git分支里面內容不同。

在refs文件夾里面包含heads和tags。hears里面有不同的分支的名字;tags里面主要就是一些里程碑的內容,也就是通常所說的打的一個tag。

9. objects文件夾里面存放的是Git里面核心的文件內容,主要是Git版本控制管理的三個對象,主要關系就是commit包含tree,tree里面包含blob。tree的話就是一個文件夾,blob就是文件的內容。 前面文件夾的名稱加上文件里面的名稱,通過命令行可以查看文件的類型和文件內容。 git cat-file -t md5值 查看類型 git cat-file -p md5值 查看內容 git branch -av 查看分支git status 查看文件的狀態

10. 暫存區,工作區,head所含文件之間差異比較 git diff --cached #暫存區和head所含文件的差異比較git diff #工作區和暫存區比較差異 全部文件git diff -- readme.txt #工作區和暫存區比較差異 個別文件git diff HEAD HEAD~2 #比較不同的headgit diff temp master #比較倆個分支的差異 git diff temp master -- index.html #比較倆個分支同一文件的差異

11.分離頭指針 當我們直接Check出來某個commit的時候,這個HEAD頭指針不屬于現在全部的branch版本的話,就是分離頭指針。當我們在代碼中做嘗試性變更的時候會遇到這個場景,比如說只是想嘗試性的寫一些功能,但是又不想保存到控制版本里面的時候。所以我們在使用分離頭指針的時候需要注意的是:commit提交一定要跟branch綁定在一起才會生效。git checkout c6693 #分離頭指針git branch write 2f87f57 #保存分離頭指針

在暫存區有時候寫完的代碼不想要了,需要全部恢復到工作區的時候。

git reset HEAD #把暫存區的全部內容恢復到工作區git reset HEAD 文件名 #把暫存區的部分內容恢復到工作區git reset --hard M5值 #恢復到指定的commit,取消最近的提交 這個操作有點危險喲。

12. commit的一些高級指令
- 修改commit的內容
`git commit --amend #修改最新的commit` `git rebase -i c6693435 #修改以前的commit的到時候需要找到他的父親然后修改` ![修改最新的commit](https://img-blog.csdnimg.cn/20190921191027777.png) ![變更老的commit成功](https://img-blog.csdnimg.cn/20190921191247836.png) ![修改以前的commit,這里需要將3efc626前面的pick改成r](https://img-blog.csdnimg.cn/20190921191436696.png) - 把多個連續的commit合成一個commit `git rebase -i c669343 `


- 把不連續的commit合成一個commit `git rebase -i c669343 `

13.將Git倉庫備份到本地
說了這么多,沒有遠程倉儲怎么行,下面就先讓我們在本地初始化一個本地的Git倉庫。 Git常用的傳輸協議有啞協議 /path/to/repo.git 智能協議 file:///path/to/repo.githttp/https協議 http://git-server.com:port/path/to/repo.git https://git-server.com:port/path/to/repo.git ssh協議 user@git-server.com:path/to/repo.git 最常用啞協議傳輸進度是不可見的;智能協議傳輸可見 并且智能協議比啞協議傳輸速度快。git clone --bare 地址 名稱xx.gitgit clone --bare /e/BLOG/git/learn_git/.git ya.gitgit clone --bare file:///e/BLOG/git/learn_git/.git zhineng.gitgit remote add zhineng file///e/BLOG/tank/zhineng.git #同步到遠端 git push zhineng

總結

以上是生活随笔為你收集整理的git 修改commit_Git从8到13 深入了解Git特性的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。