“暂存的更改”按字面意思应该是把更改保存在本地,不提交给服务器吧?
然而点击“提交并推送”之后,VS Code会把“暂存的更改”全部提交到服务器,反而下方的“更改”保留在本地不提交。所以这是我的理解有误吗?还是中文翻译错误?或者是全语种都存在的bug?
“暂存的更改”按字面意思应该是把更改保存在本地,不提交给服务器吧?
然而点击“提交并推送”之后,VS Code会把“暂存的更改”全部提交到服务器,反而下方的“更改”保留在本地不提交。所以这是我的理解有误吗?还是中文翻译错误?或者是全语种都存在的bug?
从下往上,依次是 modify 但未 stage changes、stage changes 但未 commit、commit 并 push
切换语言就懂了
用英文,应该看得更明白一些吧,至少能跟git命令都对上。我猜你上面“暂存的更改”应该是staged changes
的意思。“提交并推送”应该是 commit
和 push
两个操作吧。
可能你对git的工作方式理解还有偏差。提交 (commit) 是本地的动作。推送 (push) 才是把本地的 commits 推送到服务器。
初次接触git听到“暂存”第一时间会想到的意思多半是pending吧?感觉遇到了翻译刺客呀
另外误解可能也与VS Code的“贴心”操作有关。因为我之前都是不经历stage步骤直接commit & push,变更也都反映在服务器了,现在看来应该是VS Code在这种情况下贴心地帮我“先自动stage全部变更再push“了
看来这个作者对“暂存”这个词的理解跟我是一样的,但不是VS Code翻译人员理解的“暂存”
这里需要按照 Git 的名词解释来理解,更改就是只进行了文件更改,没有git操作,暂存的更改对应git add,提交并推送,对应两步 git commit && git push。
这其实不是翻译的问题,因为Git本身的操作逻辑就是如此“怪异”。
我记得如果你不手动点加号直接提交,首次使用会问你直接提交与否,若选的是的话那以后好像就不问了。
早先学用Git的时候对这个翻译也是一脸懵…但是如果抛开翻译,界面操作逻辑其实是正确的:
有时候还挺方便的(