Git
使用流程图
常用命令
第一阶段
git init
- 将当前目录初始化为本地库
- 当前路径下生成.git文件夹
git config
--local:设置本地库配置,配置保存在.git/gitconfig文件
--global:设置git全局配置,配置保存在~/gitconfig文件
--system:设置git系统配置,配置保存在/etc/gitconfig文件
--add 配置项 配置值:添加配置
--get 配置项:获取配置项的值
--list:查看所有配置项
第二阶段
git add .
- 将工作区的文件添加到缓存区(index区)
git commit -m "注释"
- 将缓存区的内容提交到本地库
- 同时生成提交ID
touch .gitignore
- 在.gitginore中写需要屏蔽哪些文件提交
- 可在github搜索gitignore找到对应开发语言的参考方案
git status
- 查看当前目录下文件的状态
git log
- 查看提交记录(包含提交ID,是个HASH值)
- 可以在~/.bashrc文件中配置 alias git-log git log --graph --pretty=oneline --abbrve-commit,再执行source ~/.bashrc,这样就可以看到简洁且图形化的提交记录
- 注意版本回退到目标版本之后,目标版本以后的版本的记录就看不到了
git reset --hard 提交ID
- 回退到指定提交的版本
git reflog
- 查看所有提交的记录,即使是回退到目标版本,目标版本之后的记录也能看到
git branch 分支名称
- 创建分支
- -d 分支名称:删除分支
- 企业一般会创建4种分支:master(上线)、release(发版或测试)、dev(开发或code review)、feature(开发分支拆解的功能分支)、bug-fix(线上紧急bug修复分支)
git checkout 分支名称
- 切换分支
git checkout -b 分支名称
- 创建分支并切换到新建的分支
第三阶段
git remote add origin 远程仓库地址
- 添加远程仓库
- github、gitee或者gitlab(企业内部部署)中创建远程仓库
git push
- 将本地库的文件推送(上传)到远程仓库
- --set-upstream 本地分支名称:远程分支名称:推送时将本地仓库的分支与远程仓库的分支关联对应
- 注意:每次提交之前先git pull拉取最新的代码,解决完冲突之后再推送上远程
git clone https地址或者ssh地址
- 从远程仓库克隆项目到指定路径下
git fetch
- 从远程仓库获取git的所有缓存记录
- 在这之前先要切换到指定的分支
git merge 分支名称
- 将远程仓库分支的内容合并到当前分支
- 合并的时候最容易出现文件冲突
- <<<<HEAD表示当前分支
- <<<<提交ID表示合并过来的分支
- 可以使用beyound compare来方便处理分支,一般pycharm、VSCode都有相关插件提供方便的冲突处理
git pull
- 从远程仓库路权代码
- = git fetch + git merge
第四阶段
git tag -a 标签名称 -m "注释"
- 为当前分支添加标签,常用于标注分支的版本
- git push 远程仓库名称 --tags:推送所有标签(常用)
- git push 远程仓库名称 标签名称:推送指定标签
git rebase
- 使提交记录更加的简洁
- -i 提交ID -m "注释":当前提交的ID到目标提交的ID合并成一条日志记录
- -i HEAD~3 -m "注释":将最近3条记录合并成一条记录
- 注意:尽量只在本地库操作,不要对已经上传到远程库的记录
- git rebase 目标分支 + git checkout 目标分支 + git merge 原分支 :将原分支的记录插入到目标分支
- gi fetch + git rebase origin/目标分支:获取新代码时不产生分岔
其他
免密登录
- 在url上添加用户名和密码
- 使用git config配置用户名和邮箱
- 使用ssh
- ssh-keygen -r rsa 生成公钥,文件存放在~/.ssh/id_rsa.pub中
- 将公钥复制到github、gitlab、gitee上添加即可
- ssh配置成功后克隆,推送,拉取等都可以使用ssh地址
远程仓库(github,gitee,gitlab)
- issue:用于对当前版本的讨论,比如bug之类的
- wiki:用于存放相关的说明文档
- webhook:制造钩子,合并之后触发访问指定接口,从而触发自动部署
本文作者:注入灵魂
本文链接:https://www.cnblogs.com/totopian/p/17076726.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步