【Git】
参考资料
IDEA中git操作
1、帮助文档: https://www.jetbrains.com/help/idea/set-up-a-git-repository.html
2、undo Commit vs Revert Commit: 参考 https://blog.csdn.net/qq_33637730/article/details/123256813
undo Commit:跟没commit一样,销毁commit记录,代码不会被回退
Revert Commit:新建一个Revert XX commit的commit记录,执行后,对应commit代码会被回退
Squash Merge: 合并原有多个Commit(合并后看不到),生成一个新Commit记录
Cherry-pick:选择合并指定修改
码云官网底部:
1、Git 大全
// 从工具安装下载,插件、服务搭建,命令行大全
工具下载经验:国外工具在国内镜像的下载
http://npm.taobao.org/mirrors/git-for-windows/
搜索:taobao 镜像 git // 直接访问http://npm.taobao.org/mirrors会提示404
2、Git 命令学习
动画演示,循序渐进学习命令,所见即所得
3、狂神说 B站视频
4、https://git-scm.com/book/zh/v2
Git下载失败
报错:Please make sure you have the correct access rights and the repository exists.
解决方案:https://blog.csdn.net/qq_38741986/article/details/100137267
Git环境配置
- git config -l 查看全局和系统配置
- git config --system -l
查看系统配置,系统默认配置
- git config --global -l
查看用户配置
默认保存在.gitconfig文件中,c盘 用户目录下文件保存
设置用户配置
Git理论
Git工作区域:工作目录-》暂存区Stage-》本地仓库(Local Repository)->远端git仓库(Remote Directory)
Git命令操作
-
1. 本地仓库搭建
git init: 目录下新建仓库
git clone 路径 下载已有仓库
-
2. 文件状态
文件有4种状态
命令:
# 查看所有文件状态
git status
# 上传文件到暂存区
git add .
# 批量增加
# git add --all
# 提交暂存区文件到个人本地仓库,m代表message
git commit -m
-
3. 文件.gitignore
配置忽略不提交暂存区文件,如class文件
Git 分支branch操作
-
1. 常用命令
# 列出所有本地分支 git branch # 列出所有远程分支 git branch -r # 新建一个分支,但仍停留在当前分支 git branch [branch-name] # 新建一个分支,并切换该分支 git checkout -b [branch] # 合并指定分支到当前分支 git merge [branch] # 删除分支 git branch -d [branch-name]
# 删除远程分支
git push origin --delete [branch-name]
git branch -dr [remote/brach]
-
2. 冲突解决
git stash 本地已有修改 -> 拉取远端仓库(参考remote仓库操作) -> git stash pop (恢复本地修改),得到冲突文件 -> 根据提示解决冲突,提交本地仓库 -> 提交远端仓库
// 推荐在IDEA上执行上述操作,尤其是修改冲突文件步骤
Git 远程remote仓库操作
查看所有远程仓库
# 查看所有远程仓库信息 git remote -v # 添加远端仓库 git remote add [shortname] [url] # 删除远程仓库 git remote rm name # 取回远程仓库的变化,并与本地分支合并 $ git pull [remote] [branch]
样例:
$ git remote -v origin https://github.com/tianqixin/runoob-git-test (fetch) origin https://github.com/tianqixin/runoob-git-test (push) 添加远端仓库 $ git remote add origin git@github.com:tianqixin/runoob-git-test.git
“origin” 并无特殊含义:远程仓库名字 “origin” 与分支名字 “master” 一样,在 Git 中并没有任何特别的含义一样。 同时 “master” 是当你运行 git init 时默认的起始分支名字,原因仅仅是它的广泛使用, “origin” 是当你运行 git clone 时默认的远程仓库名字。 如果你运行 git clone -o booyah,那么你默认的远程分支名字将会是 booyah/master。
HEAD 总是指向当前分支上最近一次提交记录。大多数修改提交树的 Git 命令都是从改变 HEAD 的指向开始的。
- 1. 初始状态
- 2.
Git 相对引用
通过指定提交记录哈希值的方式在 Git 中移动不太方便。在实际应用时,不得不用 git log
来查查看提交记录的哈希值。
哈希值在真实的 Git 世界中也会更长(译者注:基于 SHA-1,共 40 位)。哈希值可能是 fed2da64c0efc5293610bdd892f82a58e8cbc5d8
。
比较令人欣慰的是,Git 对哈希的处理很智能。你只需要提供能够唯一标识提交记录的前几个字符即可。因此我可以仅输入fed2
而不是上面的一长串字符。
-
-
-
使用
~<num>
向上移动多个提交记录,如
-
-
1. 设置Header到指定位置
样例1:通过分支名+^方式移动
样例2:
样例3:使用~数字进行多次回退
4. 使用"!" 进行分支强制移动指定位置
初始状态: master位于C4节点,通过相对引用,移动到C1节点
撤销变更由底层部分(暂存区的独立文件或者片段)和上层部分(变更到底是通过哪种方式被撤销的)组成
主要有两种方法用来撤销变更 —— 一是 git reset
,还有就是 git revert
- 1. git reset
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)