Git的正确使用姿势与最佳实践 | 青训营笔记

260 阅读3分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的的第1篇笔记

课前资料

课程链接:「Git 的正确使用姿势与最佳实践」第三届字节跳动青训营 - 后端专场 (juejin.cn)

课程导学:【网络与部署 学习资料(下)】第三届字节跳动青训营 - 后端专场 - 掘金 (juejin.cn)

一、Git的工作流程和基本命令

image.png 一般工作流程如下:

  • 克隆 Git 资源作为工作目录。
  • 在克隆的资源上添加或修改文件。
  • 如果其他人修改了,你可以更新资源。
  • 在提交前查看修改。
  • 提交修改。
  • 在修改完成后,如果发现错误,可以撤回提交并再次修改并提交。

1.1 创建仓库

创建Git仓库的命令

git init //初始化仓库
git clone //拷贝一份远程仓库,也就是下载一个项目

1.2提交与修改

git add //添加文件到暂存区             
git status //查看仓库当前的状态,显示有变更的文件。  
git diff //比较文件的不同,即暂存区和工作区的差异。 
git commit //提交暂存区到本地仓库。          
git reset //回退版本。                
git rm //将文件从暂存区和工作区中删除。      
git mv //移动或重命名工作区文件。

1.3远程操作

git remote //远程仓库操作  
 git fetch //从远程获取代码库  
 git pull //下载远程代码并合并 
 git push //上传远程代码并合并

二、Git的分支管理

git所有分支之间彼此互不干扰,各自完成各自的工作和内容。可以在分支使用完后合并到总分支(原分支)  上,安全、便捷、不影响其他分支工作

2.1 分支介绍

master

项目创建之初的分支就是主分支master,之后创建的都叫从分支。

Git 的 master 分支并不是一个特殊分支。 它就跟其它分支完全没有区别。 之所以几乎每一个仓库都有 master 分支,是因为 git init 命令默认创建它,并且大多数人都懒得去改动它。

HEAD

image.png

2.2 常见分支操作

创建新分支# 创建并切换到dev分支 git checkout -b dev

切换回主分支# 分支切换回主分支master git checkout master

合并分支# 合并dev到master git merge dev

删除分支# 删除dev分支 git branch -d dev

2.3 冲突的发生和解决

当同一个文件被两个分支都修改过,想要合并两个分支就会产生冲突,不能快速将dev合并到master上。并且git会提醒“合并过程中产生了冲突,请修正后再提交”。

解决步骤

  1. git status 查看冲突文件
  2. vim src/main/java/a.txt (假设a.txt为冲突文件,这里需要为文件的全路径),手动修改冲突部分
  3. git add src/main/java/a.txt 告诉Git冲突解决了
  4. git commit -m ‘解决冲突’ (解决冲突为注释,可自定义)