GIT:仅提交本地工作区部分文件的方法


偶尔会有某一部分的代码或缺陷修复需要临时被提前发布,假设当前分支已修改了这个BUG,但当前分支已存在其他未开发完的代码,无法临时提交全部代码的情况。

解决方法

1. 严格切分支: 为每个 BUG / 需求 从当前模块的主分支中切一个分支出来对应开发。

2. 串行开发&频繁push:在该分支中不进行并行开发,每开发或修复一个需求,就进行一次push。

3. 提交指定文件(非常灵活)

本文介绍第三种方法的具体实现操作

首先来明确 Git 的三个板块:

  • 工作区
  • 暂存区
  • 版本库

git结构

我们在 Git 的工作区进行开发

用 add 命令将工作区变更的代码保存至暂存区

用 commit 命令将暂存区的变更推送至本地仓库的版本库

最后用 push 命令将本地的版本库上传推送至链接的远程仓库

命令行

########## 依据上下文顺序执行 ##########
git status -s                     # 查看仓库状态
git add [src/.../.../文件名]      # 将工作区中指定的文件提交至暂存区 [路径](参考上一条命令 git status 输出的被修改文件的路径)
git stash -u -k                   # 忽略工作区未被执行 git add 的文件变更,将其隐藏起来,这样在执行 git commit 时不会被影响
git commit -m [提交了一个版本]    # 将已执行 git add 的暂存区中的文件提交至版本库,并为本次提交书写注释 [版本注释]
git push                          # 将版本库推送至远程仓库(remote/origin)
git stash pop                     # 恢复工作区被忽略的文件

Git status -s 状态码

例如:

路径前的红色字母位置为状态码占位符

A 当前分支本地仓库的新增文件(远程仓库不存在)
C 文件的一个新拷贝
D 当前分支本地仓库被删除的文件(远程仓库仍存在)
M 内容 / mode变更的文件
R 文件名被修改的文件
T 类型改变的文件
U 当前分支本地仓库中未被合并的文件(需要完成合并才能进行提交)
X 未知状态的文件(可能是遇到 Git 的 bug 了,可以向 Git 提交 bug report)
? 未被 Git 进行管理的文件,可以使用 git add src/.../.../file 把文件名为 file 的文件添加至 Git 的被管理目录

- END -


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM