Git
使用:创建自己的工作分支(本地和远程),在自己的分支上修改,然后提交到对应的分支上,没问题后PR到master。
1. 常用命令
工作区
-
git branch 查看本地所有分支
git branch -r 查看远程仓库的所有分支
git branch <分支名> 创建分支
git branch -d <分支名> 删除分支
-
git checkout 切换分支
git checkout -b <分支名> 可新建分支,并且切换到该分支上
暂存区操作
-
git add 添加文件到暂存区
- git status add之后,可以查看当前分支进行了哪些变更(修改、删除等)
-
git reset HEAD 撤销添加操作。暂存区的目录树会被重写,但是工作区不受影响。
本地仓库操作
-
git commit -m"描述" 提交暂存区到本地仓库 (提交之后工作树会清空,无法再次提交?)
远程操作
-
git push origin <branch> 上传到远程仓库并合并 ps:除非你将分支推送到远端仓库,不然该本地分支就是不为他人所见的
git push origin testa:testb 推送本地的testa(冒号前面的)分支到远程origin的testb(冒号后面的)分支(没有会自动创建)
-
git pull 下载远程代码并合并 相当于 fetch + merge
-
git fetch <远程主机名> 将某个远程主机的更新全部取回本地仓库,但是不合并到当前分支
-
git merge <a分支> 将a分支的代码合并到当前分支上
git使用指南:https://www.bootcss.com/p/git-guide/
git常用命令:https://www.jianshu.com/p/d220c88bb516
其他
- .gitignore文件,用于配置哪些文件不提交
2. 使用:远程主分支--->本地子分支
第一步:切换到本地的仓库主分支master,更新为最新的代码git pull。
第二步:切换到要同步的子分支上dev,在子分支上运行 git merge master 就会将主分支的代码同步到子分支上。
3. 冲突Conflict
冲突说明:<<<<<<< HEAD 到 ======= 中间的内容是local提交的。
======= 到 >>>>>>> commit-id 是远程仓库中的内容。
冲突原因:已经有人对远程仓库中同一处代码做过修改。如:从仓库拉取代码并修改某处,其他用户也拉取代码并修改同一处,然后其他用户push并merge了远程仓库,此时再push就会出现冲突。
解决:1、主分支pull最新代码
2、本地开发分支merge主分支代码(此时会显示冲突,在冲突处删除这些注释,保证代码是最终push版本的内容)
3、正常add、commit、push
https://www.cnblogs.com/VergiLyn/p/6701642.html
4. 回滚、撤回
-
reset current branch to here:回滚到之前的某次提交
-
undo commit之后:撤回(抹掉)了Log里的修改记录,但是,Local Changes留有修改记录
-
revert之后:撤回(抹掉)了Local Changes的修改记录,但是,Log留有修改记录
5. IDEA中使用Git
IDEA中使用Git,文件不同颜色代表的含义
-
绿色——已经加入控制,暂未提交;
-
红色——未加入版本控制;
- 黄色——被git忽略,不跟踪;
-
蓝色——加入,已提交,有改动;
-
白色——加入,已提交,无改动;
-
灰色——版本控制已忽略文件;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下