0


【Git】提交代码详细流程

目录

1.git 三大分区

  1. 工作区:开发人员当前正在开发的项目工作空间,是我们肉眼可见的。 Git系统不会管工作区中任何文件内容的修改,仅监控暂存区。
  2. 暂存区:Git系统内部,管理开发人员项目中临时修改文件的区域,用于临时存放文件的改动,它会存放上一次开发人员 git add 添加之后的数据。 在后续继续向版本库提交更新代码时,git会比较暂存区与工作区间的差异,给予相关操作提示。
  3. 版本库:类似仓库,存储很多配置信息、日志信息、以及文件各种修改后的最终版本信息。

2.Git提交、推送、拉取代码、合并分支详细流程

  1. 查看工作区文件状态
git status

在这里插入图片描述

  1. 添加文件到暂存区
gitadd<文件名>gitadd ./* #添加所有文件到暂存区

在这里插入图片描述

  1. 将暂存区的文件添加到版本库
git commit -m'提交注释信息'

在这里插入图片描述

  1. 推送本地分支的更新到远程主机
git push

在这里插入图片描述

  1. 切换分支
git checkout <远程分支名>

在这里插入图片描述

  1. 合并分支
git merge <源分支名>

在这里插入图片描述

  1. 保存当前工作进度 使用情况:分支有改变时不提交不能进行切换分支操作 该命令会保存当前工作进度,会把暂存区和工作区的改动保存到一个未完结变更的堆栈中。
git stash 

在这里插入图片描述

  1. 远端拉取代码
git pull #是 git pull --merge 的缩写;将远程库的最新内容拉到本地,用户检查后决定是否合并git pull --rebase#远程主机的最新内容拉取到本地后直接合并;可能会产生冲突需要手动解决

在这里插入图片描述

  1. 推送本地分支的更新到远程主机在这里插入图片描述 此时可以在主分支查询到从自己分支合并过来的提交记录
  2. 切换回自己分支在这里插入图片描述
  3. 恢复最新的进度到工作区
git stash pop

在这里插入图片描述

3.问题总结

问题一、误提交:提交代码时遇到冲突,但冲突文件并不想提交【一般可以通过将文件添加到.gitignore长久解决,但是由于我的文件具有线上版本,.gitignore文件不起作用】
在这里插入图片描述
解决办法:

gitadd.git reset HEAD .
  1. git add .】:添加所有文件到暂存区**
  2. git reset HEAD .】:将此次修改的所有文件退回到工作区**

4.git push补充知识

  1. 将本地分支的更新推送到远程主机
git push <远程主机名><本地分支名>:<远程分支名># :前后不可以有空格git push origin dev-lwq:master #将本地的dev-lwq分支推送到origin主机的master分支
  1. 省略远程分支名: (1)本地与远程存在分支名重复情况,此时可以省略(2)若远程分支不存在,若省略则会新建一个与本地分支同名的远程分支
git push <远程主机名><本地分支名>git push origin dev-lwq #将本地的dev-lwq分支推送到origin主机的dev-lwq分支,若origin主机不存在dev-lwq分支则会新建
  1. 省略本地分支名:删除指定的远程分支
git push <远程主机名> :<远程分支名>git push origin :master #删除origin主机的master分支git push origin --delete master#等同于上面命令
  1. 仅保留远程主机名:当前分支与远程分支存在追踪关系
git push <远程主机名>git push origin #将当前分支推动到origin主机的对应分支git push #省略远程主机名:当前分支只有一个追踪分支
  1. 当前分支与多个主机存在追踪关系,通过以下命令可以指定一个默认主机
git push -u<远程主机名><本地分支名>git push -u origin master #master分支推送到origin主机且设置origin为默认主机
标签: git

本文转载自: https://blog.csdn.net/weixin_43644527/article/details/136320689
版权归原作者 祺啾 所有, 如有侵权,请联系我们删除。

“【Git】提交代码详细流程”的评论:

还没有评论