一、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 仓库
  1. 添加到暂存区
  • 未跟踪的文件添加到暂存区
  • 已修改的文件添加到暂存区
git add 文件名
git add .   // 全部提交
  1. 提交到 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 版本回退
  1. 找到要回退的目标版本
git log
  1. 使用 git reset --hard ID 退回目标版本
git reset --hard a956f2ae5
3.6 重新退回最新版本
  1. 使用 git reflog 找到最新版本的id
git reflog
  1. 使用 git reset --hard ID 退回目标版本
git reset --hard 6f535f0
3.7 开源协议
  1. GPL
    具有传染性的开源协议,只要用了GPL协议的项目,在此基础上进行修改的衍生项目,都必须开源且不可商用

  2. MIT
    对商业项目极其友好的协议,几乎没有任何限制,只需要在使用项目时,标注作者出处即可

3.8 本地仓库推送至远程仓库
  1. 在GitHub或Gitee中创建一个仓库
  2. 初始化本地仓库 gitinit
  3. 将本地所有文件,提交至仓库 git add .
    git commit -m "提交信息"
  4. 将本地仓库和远程仓库进行关联 git remote add origin 仓库地址
  5. 推送代码至远程仓库 git push -u origin master
3.9 git push 命令

作用:将本地仓库推送至远程(不会推送未提交到仓库的代码)

新写了代码不要直接 git push

应该先提交至本地仓库后再推送至远程

特点:只有第一次推送至远程仓库需要使用 git push -u origin master 以后每次使用,直接 git push 即可

3.10 使用 SSH 提交代码
  1. 生成 SSH 秘钥
ssh-keygen -t rsa -b 4096 -C "GitHub 或码云注册的邮箱地址"
  1. 在 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 分支

分支的基本操作

  1. 查看所有分支
    git branch
  2. 创建分支
    一定要基于 master 分支去创建分支
    git branch 分支名(使用英文)
  3. 切换分支
    git checkout 分支名
  4. 创建并切换分支
    git checkout -b 分支名
  5. 合并分支
    git checkout master 先切换至主支
    git merge 功能分支 然后合并
    这个用不上,因为在公司开发先提上去给组长看,然后在远程仓库合并
  6. 删除分支
    git branch -d 分支名
    用不上,想删除直接手动删
3.13 冲突的解决

冲突: 当两个分支同时修改相同的文件,合并时就会发生冲突,都是后者解决冲突,所以大家记得及时提交并合并代码

当发生冲突时,解决过程如下:

  1. 修改冲突的文件,确定修复后的代码
  2. 执行 git add . 将冲突修复好的文件提交到暂存区
  3. 执行 git commit -m "提交信息" 将冲突修复后的内容提交至仓库
    关键字:conflict 冲突
3.14 将本地分支推送至远程

只需要在功能分支执行 git push 命令即可,终端会给出对应的提示,复制粘贴运行就可以推送至远程

3.15 git pull 命令

作用: 将远程仓库的代码拉取到本地,从服务器获取最新的代码

开发时,每天早上第一件事就是执行 git pull




扩展

将仓库提交方式从 HTTPS 改为 SSH

  1. 查看当前仓库关联的远程仓库地址
    git remote -v
  2. 删除已关联的远程仓库地址
    git remote remove 仓库名
  3. 添加关联的远程仓库地址
    git remote add 仓库名 仓库地址

真实 Git 开发流程

原则: master 分支不能直接提交代码

那 git merge 命令将没有任何意义

  • 创建功能分支,进行代码的编写,提交至功能分支
  • 将功能分支推送至远程仓库
  • 新建 Pull Request
  • 将功能分支的代码请求合并至 master 分支
  • 艾特老大来做Code Review(代码审查)
  • 由审查者测试代码通过后,合并至 master 分支
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐