- 本文为个人实际使用的总结,做笔记留存,仅供参考
开始使用
下载安装
- 前往
Git
官网下载并安装:https://git-scm.com/download - 使用
HTTPS
同步代码,推荐同时下载并安装Git Credential Manager- 推荐理由
该软件可以帮我们将Github的用户名与密码,以windows凭证的方式保存在本地,避免重复输入账号密码. 你可以前往 "控制面板\用户帐户\凭据管理器",查看Windows凭证
- 使用
SSH
同步代码,可参考下述步骤,或搜索Git配置SSH
关键字查看相关教程1- 先配置提交信息 git config --global user.name "用户名" git config --global user.email "邮箱" 2- 生成 SSH KEY,一直回车即可 ssh-keygen -t rsa -C "[email protected]" (-C:添加了密钥的注释,可选) 3- 找到公钥id_rsa.pub,并复制全部内容 C:\Users\xiaoming\.ssh\id_rsa.pub C:\Users\[你的电脑用户名]\.ssh\id_rsa.pub 4- 登录自己的git(github、gitee、gitlab) 5- 到个人设置界面,找到SSH KEYS设置,粘贴刚才复制的公钥,保存即可 6-测试ssh是否连接成功 ssh -T [email protected] (@后面的是git网站的地址) 如:ssh -T [email protected] / ssh -T [email protected] 成功提示: Welcome to GitLab, @xiaoming! 如果失败的话,请自行解决或从头再试下,祝你成功!
【使用小乌龟(TortoiseGit)
配置可能遇到的问题】
- 如果你使用
TortoiseGit
配置了git的相关设置失败时,可能会导致无法克隆代码和使用sourseTree
等工具。 - 你可以尝试打开
sourseTree
>>顶部工具栏
>>选择工具
选项>>找到SSH 客户端配置
,选择SSH客户端
选项为openSSH
,保存再次测试下。
初始化配置
查看配置
git config --global --list // 查看是否已经配置了用户名与邮箱信息
开始配置
- 在任意位置,右键 >> 点击
Git Bash Here
- 配置提交的基础信息(即用户名、邮箱)
git config --global user.name "用户名"
git config --global user.email "邮箱"
例如:
git config --global user.name "xiaoming" // 根据自己的实际填写用户名
git config --global user.email "[email protected]" // 根据自己的实际填写邮箱
常见问题
分支
合并分支
- 使用
vscode
管理git
代码(推荐) - 假设你有个
master
和main
分支 - 现在你在
main
分支上变更了内容,需要合并到主分支master
上 - 步骤:
- 先在
main
分支提交你的更改到本地仓库 - 然后切换到
master
分支,在 源代码管理 > 分支 > 合并分支 > 选择main
- 先在
删除分支
- 你可以直接在
vsCode
中,切换、合并、删除分支等操作。但有时还是需要指令操作,如删除远程的分支。
// 删除远程分支
git push origin --delete test1 // git push origin --delete [分支名]
// 删除本地分支
git branch -d test1 // git branch -d [分支名]
版本
版本回退
// 先回退版本
git reset --hard 3df2ef1 // git reset --hard [目标版本号]
// 强制推送到远程
git push -f
git reset
会删除之前的提交内容,可使用 git revert指令,不会改变过去的历史,详情参考如果你还不会用git回滚代码,那你一定要来看看
// 回退版本
git revert 3df2ef1 // git revert [目标版本号]
// 手动解决冲突,会生成一条新的提交记录
// 正常提交、推送
版本冲突
不能拉取与推送
- 如果远程分支中某个文件
a.md
被删除了 - 你未拉取最新的代码,就在本地的
a.md
中进行了新的修改,并提交了修改 - 当你将这个新的修改
push
到远程的时候,会要求你先pull
远程的新代码 - 当你
pull
远程代码时,会提示有冲突 - 此时如果直接合并冲突,会导致不能拉取,也不能提交
- 解决方案:
- 如果已经出现了不能拉取,也不能提交,可以百度错误码
- 若错误码为:
error: You have not concluded your merge
,可参考解决Git报错或输入下面的代码。
git merge --abort git reset --merge git pull
- 将状态还原到,发送冲突的时候。
- 使用命令先移出缓存去的问题文件
假设问题文件是 `a.md` git rm a.md
- 然后,先拷贝自己的最新代码用于备份
- 提交删除
a.md
的删除变更 - 尝试
pull
远程的新代码 - 再新建
a.md
,并黏贴刚才拷贝的最新代码,再次提交变更 - 测试
附录与参考
Git常用命令速查表
git提交规范
* feat: 新功能、新特性
* fix/fixed: 修补某功能的bug
* update:更新某功能
* docs: 文档修改
* perf: 更改代码,以提高性能(在不影响代码内部行为的前提下,对程序性能进行优化)
* refactor: 代码重构(重构,在不影响代码内部行为、功能下的代码修改)
* style: 代码格式修改, 注意不是 css 修改(例如分号修改)
* test: 测试用例新增、修改
* build: 影响项目构建或依赖项修改
* optimize: 优化构建工具或运行时性能
* revert: 恢复上一次提交
* ci: 持续集成相关文件修改
* chore: 其他修改(不在上述类型中的修改)
* release: 发布新版本
* workflow: 工作流相关文件修改