万物不为我所有,但为我所用|

注入灵魂

园龄:3年7个月粉丝:3关注:2

Git

使用流程图

image

常用命令

第一阶段

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/目标分支:获取新代码时不产生分岔

其他

免密登录

  1. 在url上添加用户名和密码
  2. 使用git config配置用户名和邮箱
  3. 使用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 中国大陆许可协议进行许可。

posted @   注入灵魂  阅读(25)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 尚好的青春 孙燕姿
尚好的青春 - 孙燕姿
00:00 / 00:00
An audio error has occurred.