GIT-cnblog
Git
简介
- 分布式版本控制工具
安装与常用命令
- ls/ll 查看当前目录
- cat 查看文件内容
- touch 创建文件
- vi vi编辑器
- i 或insert键:插入
- esc 退出编辑模式
- zz或:wq 保存修改并退出vi
- :w 保存
本地仓库
配置别名
- 在C盘用户目录下的.bashrc文件中
- eg. alias ll='ls -al'
基础操作
- git add 工作 -> 暂存
- git commit -m"注释内容" 暂存 -> 本地仓库
- git log [option] 查看提交日志
- --all 显示所有分支
- --pretty=online 将提交信息显示为一行
- --abbrev-commit 使输出的commitId更加简短
- --graph 以图的形式显示
- 上面关于log这一堆指令已经配置了别名,用git-log就行
- git reset --hard commitID 版本切换
- git reflog 记录前面所有的操作及操作后的commitId (可查看已经删除的记录)
- 添加文件到忽略列表
- 创建一个 .gitignore
- 然后把不想给git管理的文件名输进去(可以使用一些匹配符)
分支
-
查看分支
-
git branch
-
git branch -vv 显示更详细的信息
-
新建分支
- git branch 分支名
-
切换分支
- git checkout 分支名
-
创建并切换分支
- git checkout -b 分支名
-
合并分支(将指定分支合并到当前分支)
- git merge 分支名
-
删除分支
- git branch -d 分支名 (删除时做各种检查)
- git branch -D 分支名 (强制删除)
-
解决冲突
- 合并时若有冲突,两个分支的内容都会被写到文件中,需要手动处理,然后add commit
分支规范
- master (生产)分支:线上分支,主分支
- develop (开发)分支:master派生,一般不删
- feature/xxxx develop派生,可删
- hotfix/xxxx master派生,一般作为修复bug用,可删
仓库托管
配置ssh公钥
- 生成公钥
- ssh-keygen -t rsa
- 获取公钥
- cat ~/.ssh/id_rsa.pub
- 在gitee设置中配置公钥
- 验证
- ssh -T git@gitee.com
常用指令
-
添加远程仓库
- git remote add 远端名称 仓库ssh
-
查看
- git remote
-
推送(origin是前面起的远端名,可改)
- git push origin master
-
完整版推送
-
git push [-f] [--set-upstream][本地分支名]:[远端分支名]
-
-f 强制推送覆盖
-
--set-upstream 推送并和远端分支建立关联,建立关联后直接git push即可
-
-
克隆
- git clone ssh地址 文件夹名
-
抓取:只抓不合并
- git fetch [remote name][branch name]
- 然后 git merge合并
-
拉取
- git pull [remote name][branch name]
- 相当于fetch + merge
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理