Git学习使用
Git的定义中,共有四个分区
-
学习链接:
B站:https://www.bilibili.com/video/BV1tf4y1e7yt?p=1
-
从远程仓库下载项目
git clone https://github.com/wsdassssss/Github-test.git
-
将修改后文件加到缓存区中
git add record.txt
-
将缓存区文件提交到本地仓库
git commit -m "first change"
-
将本地仓库文件推送到远程仓库
git push
-
从远程仓库拉取
git pull
-
修改后,未提交到缓存区,恢复原文件
git restore record.txt
-
查看工作区文件和缓存区文件内容差异
git diff
git diff --stat 显示摘要 -
查看文件变化
git status
-
取消上一次git add
git reset HEAD
-
查看提交历史
git log
-
删除
git rm <file> git rm --cached test3.txt #将test3.txt从缓存区删除 git rm -f test3.txt #将test3.txt从缓存区和工作区删除
-
新建仓库
git init
-
提交第一个版本到版本库,第一代,v1.0
git add first.txt git commit -m 'v1.0'
-
提交第二个版本到版本库,新增功能,v2.0
git add second.txt git commit -m 'v2.0'
-
提交第三个版本到版本库,新增功能v2.2,但需要回退到v2.0,再回退到V2.2
#提交版本v2.1 git add . git commit -m 'v2.2' #回退到V2.0 git log #获取v2.0的版本标识 git reset --hard 9c7c82b0880e30a430bb506d9098d49362e8a6fa #执行成功,回退到v2.0,git log 无V2.2记录
再回到V2.2
git reflog
git reset --hard b2d80c3 -
简略图
-
修改文件后,放弃修改,在git add 之前
git checkout -- first.txt
-
git add之后想要回退文件
git reset HEAD
-
分支
#新建功能分支 git branch func1 #新建func1分支 git checkout fun1 #切换到func1分支 nano first.txt #添加 3.house working git add 'first.txt' git commit -m 'new func1 branch' git checkout main #分支每次切换到main之前要先commit,否则文件内容会停在前面分支
修复BUG分支
git branch bug1
git checkout func1
nano first.txt #修改 2.house--bug
git add .
git commit -m 'bug finish'
git checkout mainmain分支merge分支bug1
git merge bug1 #first.txt line2: 2.drink--bug
合并bug分支完成
功能func1完成,合并分支func1
main first.txt
1.phoyo
2.drink-bugfunc1 first.txt
1.phoyo
2.drink
3.housegit merge func1
会引发冲突,因为main分支line2和func2分支line2不同,需要手动处理,再进行提交
示例如下图所示
-
Github
git remote add test[name] *************************.git #添加远程仓库 git push -u test[name] main[branch]
本地仓库和远程仓库是独立仓库,关联需要先执行
git pull test main --allow-unrelated-histories
git push test main推送func1分支
git push -u github_test[name] func1[branch]
从远程仓库下载
git clone ***********************.git
切换分支
git checkout func1
修改first.txt
ADD: 4.food
git add first.txt
git commit -m '4.fodd'
git push再去网页查看,func1分支已经更新
-
Git rebase,让提交更加简洁
git rebase -i HEAD~3 #合并最近三次的commit
-
Git log
git log --graph git log --graph --pretty=format:"%h %s"
-
git init git remote add qt_work **.git git pull qt_work git pull
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构