技术思考 【Git】

122 阅读3分钟

Git

git 的基本操作

  1. 修改代码。
  2. 添加到暂存区: git add .
  3. 添加到本地仓库: git commit -m '提交说明' ,会生成版本号。
  4. 通过 git log 或者 git reflog 查看版本号。
    • git log 仅可以查看当前生效的版本号,被回退的版本号不可查看。如果觉得太多行不够清晰,则可使用命令 git log --oneline 使其一行显示。
    • git reflog 可查看所有的版本号,包括被回退的版本号,如果回退后想复原,可使用这个命令查看。
  5. 通过 git reset --hard 版本号 进行版本的回退。

分支操作做新业务

需求:

经理让你为你之前的登陆模块添加一个新的功能:验证码登陆,你预计时间一天,同时你希望也能进行版本管事,所以你准备开一个分支来完成这个业务。

  1. 查看当前的分支,我不能让我新创建的分支重名:git branch
  2. 我准备创建一个名称为 login 的分支: git branch login ,再通过 git branch 验证分支是否创建成功(创建的分支代码和主分支 master 代码默认完全一样)。
  3. 我开始要切换到 login 分支搞搞事情了: git checkout login ,然后验证一下是否切换成功。
  4. 我就在 login 分支上认真的进行代码的业务开发,同时按常规的方式进行 addcommit -m
  5. 切换到 master 支,发现刚刚的 login 上的代码没有,所以我们需要将 login 分支上的代码合并到 master 分支: git merge login
  6. 现在 login 已经完成它的使命了,所以可以将 login 分支删除: git branch -d login
  7. 验证一下是否删除了: git branch

合并冲突解决方法

** 情景模仿:**

我是组长,我有两个组员,一个组员A做登陆,一个组B员做购物车。

  1. 组员A创建一个 login 分支,修改了全局文件 common.jsadd +commit
  2. 组员B创建一个 cart 分支,也修改了全局文件 common.jsadd + commit
  3. 回到 master 分支,将 logincart 两个分支的代码合并到主分支,冲突如期而至。
  4. 手动解决冲突,决堤删除哪一个,或者全部保留。
  5. add + commit

上传远程仓库

HTTPS 上传方法

  1. 去创建好的在线仓库复制 HTTPS 地址。
  2. Git Bash 命令框中输入命令 git push http地址 master

注意:

  1. 第一次使用时会弹出错误,需要我们填写 gitee 的用户名和密码。 需要gitee用户名邮箱.png
  2. 如果在 gitee 的邮箱地址勾选了 “禁止命令行推送暴露了个人邮箱” ,按照原方法会报错。

SSH 上传方法

  1. 先去 gitee 的设置中找到 “SSH 公钥” 选项,点击 生成公钥方法查看如何生成公钥。
  2. 复制命令 ssh-keygen -t ed25519 -C "xxxxx@xxxxx.com"Git Bash 中回车运行,里面邮箱填自己 gitee 账户的邮箱。
  3. 按照提示完成三次回车,按照提示去目录中找到公钥的 PUB 文件,复制公钥,返回公钥页面粘贴,保存。
  4. 复制 SSH 的地址,返回 Git Bash 中输入命令 git push SSH地址 master 即可。

注意:

  1. 如果没有先设置公钥,会报以下错误:
    The authenticity of host 'gitee.com (212.64.62.183)' can't be established.
    
    gitee 主机的授权没有被确认,因此需要先设置公钥。
  2. 可以做简化处理,先输入命令
    git remote add 仓库别名 仓库地址
    
    在第一次使用时输入命令
    git push -u autumnFish master
    
    以后都可以直接使用简写形式。
    git push
    git pull