Git的使用
一、Git用户信息配置除非换了环境一般只用配置一次配置用户名git config --global user.name "用户名"配置邮箱git config --global user.email "邮箱"查看全局配置git config --global -l二、Git 的三个区域工作区暂存区仓库Git 文件的四种状态Untracked 未跟踪Unmodified 未修改Modified 已修
一、Git用户信息配置
除非换了环境一般只用配置一次
配置用户名
git config --global user.name "用户名"
配置邮箱
git config --global user.email "邮箱"
查看全局配置
git config --global -l
二、Git 的三个区域
- 工作区
- 暂存区
- 仓库
Git 文件的四种状态
- Untracked 未跟踪
- Unmodified 未修改
- Modified 已修改
- Staged 已暂存
三、Git仓库的使用
3.1 初始化 Git 仓库
git init
3.2 查看当前仓库文件状态
git status
git status -s // 这是简化查看
3.3 将文件提交到 Git 仓库
- 添加到暂存区
- 未跟踪的文件添加到暂存区
- 已修改的文件添加到暂存区
git add 文件名
git add . // 全部提交
- 提交到 git 仓库
git commit -m "提交信息"
- 注意事项: 如果
git commit
时,忘了-m
英文输入法,输入 :q!
按「回车」
重新执行 git commit -m "提交信息"
跳过暂存区,直接提交到 Git 仓库
git commit -am "提交信息"
注意: git commit -am
只能提交已跟踪的文件,未跟踪的文件,必须先git add .
3.4 查看提交日志
git log // 查看所有
git log -5 // 查看最近的5条
git log --oneline // 单行查看
3.5 版本回退
- 找到要回退的目标版本
git log
- 使用
git reset --hard ID
退回目标版本
git reset --hard a956f2ae5
3.6 重新退回最新版本
- 使用
git reflog
找到最新版本的id
git reflog
- 使用
git reset --hard ID
退回目标版本
git reset --hard 6f535f0
3.7 开源协议
-
GPL
具有传染性的开源协议,只要用了GPL协议的项目,在此基础上进行修改的衍生项目,都必须开源且不可商用 -
MIT
对商业项目极其友好的协议,几乎没有任何限制,只需要在使用项目时,标注作者出处即可
3.8 本地仓库推送至远程仓库
- 在GitHub或Gitee中创建一个仓库
- 初始化本地仓库
gitinit
- 将本地所有文件,提交至仓库
git add .
git commit -m "提交信息"
- 将本地仓库和远程仓库进行关联
git remote add origin 仓库地址
- 推送代码至远程仓库
git push -u origin master
3.9 git push 命令
作用:将本地仓库推送至远程(不会推送未提交到仓库的代码)
新写了代码不要直接 git push
应该先提交至本地仓库后再推送至远程
特点:只有第一次推送至远程仓库需要使用 git push -u origin master
以后每次使用,直接 git push
即可
3.10 使用 SSH 提交代码
- 生成 SSH 秘钥
ssh-keygen -t rsa -b 4096 -C "GitHub 或码云注册的邮箱地址"
- 在 GitHub 或码云配置 SSH 秘钥
-
找到 SSH 公钥文件
C:\用户目录\.ssh\id_rsa.pub
-
在 GitHub 或码云进行配置
3.11 git clone 命令
将远程仓库下载到本地,克隆了整个仓库
git clone 仓库的地址(可以是 https 也可以是 ssh)
Tips:使用git clone命令下载代码时,选择的协议,决定了将来提交代码时的协议。所以建议使用 SSH 协议进行克隆
3.12 分支
原则:不要在 master 分支直接提交代码,需要新建分支后,完成功能再合并到 master 分支
分支的基本操作
- 查看所有分支
git branch
- 创建分支
一定要基于 master 分支去创建分支
git branch 分支名(使用英文)
- 切换分支
git checkout 分支名
- 创建并切换分支
git checkout -b 分支名
- 合并分支
git checkout master
先切换至主支
git merge 功能分支
然后合并
这个用不上,因为在公司开发先提上去给组长看,然后在远程仓库合并 - 删除分支
git branch -d 分支名
用不上,想删除直接手动删
3.13 冲突的解决
冲突: 当两个分支同时修改相同的文件,合并时就会发生冲突,都是后者解决冲突,所以大家记得及时提交并合并代码
当发生冲突时,解决过程如下:
- 修改冲突的文件,确定修复后的代码
- 执行
git add .
将冲突修复好的文件提交到暂存区 - 执行
git commit -m "提交信息"
将冲突修复后的内容提交至仓库
关键字:conflict
冲突
3.14 将本地分支推送至远程
只需要在功能分支执行 git push
命令即可,终端会给出对应的提示,复制粘贴运行就可以推送至远程
3.15 git pull 命令
作用: 将远程仓库的代码拉取到本地,从服务器获取最新的代码
开发时,每天早上第一件事就是执行 git pull
扩展
将仓库提交方式从 HTTPS 改为 SSH
- 查看当前仓库关联的远程仓库地址
git remote -v
- 删除已关联的远程仓库地址
git remote remove 仓库名
- 添加关联的远程仓库地址
git remote add 仓库名 仓库地址
真实 Git 开发流程
原则: master 分支不能直接提交代码
那 git merge 命令将没有任何意义
- 创建功能分支,进行代码的编写,提交至功能分支
- 将功能分支推送至远程仓库
- 新建 Pull Request
- 将功能分支的代码请求合并至 master 分支
- 艾特老大来做Code Review(代码审查)
- 由审查者测试代码通过后,合并至 master 分支
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)