git 有没有办法 push 部分文件到远程仓库

2020-11-27 09:25:41 +08:00
 QBugHunter

假设本地从库是从远程仓库里拉过来的, 然后我修改了其中的 10 个文件,文件名分别是 A0-A4,B0-B4 这 10 个文件的改动我全部

git add A*.java
git add B*.java

然后这些改动我还没有 commit,这个时候我希望只把文件 B0-B4 推送到远程仓库里,该怎么操作?

1456 次点击
所在节点    问与答
11 条回复
wolfie
2020-11-27 09:29:58 +08:00
撤回 分段提交。
QBugHunter
2020-11-27 09:31:16 +08:00
@wolfie
没别的办法了嘛。。。因改动比较频繁,这几个文件我 add 了好多次了
Jirajine
2020-11-27 09:31:25 +08:00
那就只把 B0-B4 添加到暂存区,然后 commit,然后 push 。
Wincer
2020-11-27 09:34:35 +08:00
Git restore 。
ipwx
2020-11-27 09:37:37 +08:00
最笨(但一定没问题的做法):

把文件都拷贝走一份;
git reset --hard
然后把 B0~B4 加进去

然后 git add . ; git commit !

最后把文件拷回来
wolfie
2020-11-27 09:39:09 +08:00
@QBugHunter #2
之前没看到未 commit,git reset HEAD A*.java,先不提这几个就行。
passerbytiny
2020-11-27 09:48:04 +08:00
暂存区只能一次性提交,它只是个临时空间,干不了复杂的事。

如果不涉及文件改名(状态是 R ),那么把你提交的文件取消暂存,让暂存区只留下想提交的东西,然后提交就可以了。

真得建议 git 要尽早做提交,因为修改提交,要比把一大堆文件分多次提交,简单。
shm7
2020-11-27 19:13:14 +08:00
A 类转换成 not staged 状态 查一下 reset
B 类 add 了 直接 commit
或者你用 ide
shm7
2020-11-27 19:16:58 +08:00
建议你了解下 git 各个状态 edit staged commited pushed 。还有一个 stashed 不常用。你懂了就知道找指令了
shm7
2020-11-27 19:18:12 +08:00
@passerbytiny 一大堆文件分次提交对代码 review 很重要
passerbytiny
2020-11-28 12:45:32 +08:00
@shm7 #10 第一,提交在 push 前可以轻易修改。第二,review 的时候通常是汇总 PR 的文件改动,而不是逐个提交看改动。你这还是 svn 的思路,不是 git 的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/729718

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX