黄小华的个人网站
熬过无人问津的日子才有诗和远方!
项目中git总结
最近项目中使用git感觉不太熟练, 使用起来总出现一些问题,以前使用git就简单个人项目中使用, 没有项目开发中这么多分支,并且自己的项目操作出现问题也没啥影响, 所以git用的比较随便, 一段时间没使用git忘得也很快, 于是想花点时间整理一下彻底地理解git的一些原理和操作, 也为了以便自己需要时可以回过来看看, 所以打算将git学习形成文档, 提高在项目中使用git的效率;   

一 设置标识
git config --global 参数,有了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然你也可以对某个仓库指定的不同的用户名和邮箱
二 查看状态
git status
image.png
image.png
第一个图表示没有任何文件未提交, 第二个图表示有文件被修改还没有提交

三 查看文件具体修改了什么东西
git diff 文件全名
image.png

使用该命令可以检查这些修改是否是你操作的, 确认是否需要修改;

你的工作目录是你的工作区, 在工作区使用 git add 把文件添加进去,实际上就是把文件添加到暂存区。使用git commit提交,实际上就是把暂存区的所有内容提交到当前分支上。
四 撤销修改

  1. 如果修改的比较少也明确知道哪里修改了, 可以直接删掉那些, 然后git add . 和git commit提交到分支上;
  2. 也可以按我以前使用的方法直接恢复到上一个版本。使用 git reset --hard, 不过这个会将你所有文件的修改都撤销掉, 非必须不建议用;
  3. 更好的方法就是撤销指定文件的修改, 使用命令git checkout -- file可以丢弃工作区的修改, 使file回到上一个提交版本或者回到暂存区版本(如果修改前有git add .且没有git commit);
    五 创建 切换 合并 删除分支
    · 查看分支:git branch
    · 创建分支:git branch name
    · 切换分支:git checkout name
    · 创建+切换分支:git checkout –b name
    · 合并某分支到当前分支:git merge name
    · 删除分支:git branch –d name
    六 项目开发中提交代码到热更分支
    1.将工作区要热更的内容使用add. 和commit提交到开发分支
    2.切换到主分支,git pull 拉取master分支最新代码
    3.切换到热更分支(hxh_master)
    4.热更分支合并主分支代码(git merge master)
    5.使用命令git add. Git commit git push 推送到远端,以防出现冲突
    6.热更分支合并开发分支中需要热更的代码(git checkout --patch develop file) 根据代码看确定是要热更的输入y,不是则n
    7.最后使用命令git add. Git commit git push 推送到远端,
    七 项目中解决冲突
    我们在项目开发时由于是多人开发, 很多时候难免出现冲突, 比如我拉取了远程仓库项目代码在工作区进行了修改, 在我修改期间其他同事也修改了一些内容, 并推送到远程开发服, 正好修改的文件内容与我修改的相同, 我在工作区修改完成后,git add .; git commit后提交到自己的开发分支, 我又拉取远程开发分支上的代码, 这时就会出现冲突, 我们需要手动解决冲突,需要再重新提交,再push到远程库里面去
    总结步骤就是当开发完时可以试图用git push origin branch-name推送自己的修改.如果推送失败,则因为远程分支比你的本地更新早,需要先用git pull试图合并。如果合并有冲突,则需要解决冲突,并在本地提交。再用git push origin branch-name推送