假设本地从库是从远程仓库里拉过来的, 然后我修改了其中的 10 个文件,文件名分别是 A0-A4,B0-B4 这 10 个文件的改动我全部
git add A*.java
git add B*.java
然后这些改动我还没有 commit,这个时候我希望只把文件 B0-B4 推送到远程仓库里,该怎么操作?
1
wolfie 2020-11-27 09:29:58 +08:00
撤回 分段提交。
|
2
QBugHunter OP @wolfie
没别的办法了嘛。。。因改动比较频繁,这几个文件我 add 了好多次了 |
3
Jirajine 2020-11-27 09:31:25 +08:00 via Android
那就只把 B0-B4 添加到暂存区,然后 commit,然后 push 。
|
4
Wincer 2020-11-27 09:34:35 +08:00 via Android
Git restore 。
|
5
ipwx 2020-11-27 09:37:37 +08:00
最笨(但一定没问题的做法):
把文件都拷贝走一份; git reset --hard 然后把 B0~B4 加进去 然后 git add . ; git commit ! 最后把文件拷回来 |
6
wolfie 2020-11-27 09:39:09 +08:00
@QBugHunter #2
之前没看到未 commit,git reset HEAD A*.java,先不提这几个就行。 |
7
passerbytiny 2020-11-27 09:48:04 +08:00 via Android
暂存区只能一次性提交,它只是个临时空间,干不了复杂的事。
如果不涉及文件改名(状态是 R ),那么把你提交的文件取消暂存,让暂存区只留下想提交的东西,然后提交就可以了。 真得建议 git 要尽早做提交,因为修改提交,要比把一大堆文件分多次提交,简单。 |
8
shm7 2020-11-27 19:13:14 +08:00 via iPhone
A 类转换成 not staged 状态 查一下 reset
B 类 add 了 直接 commit 或者你用 ide |
9
shm7 2020-11-27 19:16:58 +08:00 via iPhone
建议你了解下 git 各个状态 edit staged commited pushed 。还有一个 stashed 不常用。你懂了就知道找指令了
|
10
shm7 2020-11-27 19:18:12 +08:00 via iPhone
@passerbytiny 一大堆文件分次提交对代码 review 很重要
|
11
passerbytiny 2020-11-28 12:45:32 +08:00
@shm7 #10 第一,提交在 push 前可以轻易修改。第二,review 的时候通常是汇总 PR 的文件改动,而不是逐个提交看改动。你这还是 svn 的思路,不是 git 的
|