本地工作区删除了文件,怎么同步到远程仓库?
git add .只会提交修改和新增的文件信息,
对本地删除的文件要想同步到远程仓库就要这么做:
- git rm xxx 或者直接手动在pycharm项目目录删除文件(后者是pycharm调用git rm命令),该命令会删除工作区的文件并且提交到暂存区
- git commit -am “msg” 可以将删除的文件信息从暂存区同步到本地仓库的HEAD
- git push 将以上改动推送到远端仓库
追加提问:第一步中,如果直接在电脑打开硬盘的文件夹中删除文件,肯定不会调用git rm,那这时候怎么把本地工作区的文件信息同步到暂存区呢?
t2.txt是我在我的电脑-E盘-xx文件夹中删除的,此时本地工作区是没有了,但是远程仓库还有t2.txt,我们先用git status看下
kangpc@yiyan /e/1233/code/yiyan_api/myapp/migrations (master)
λ git status
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: ../../.idea/workspace.xml
deleted: t2.txt
Untracked files:
(use "git add <file>..." to include in what will be committed)
../../.idea/.gitignore
../../.idea/dataSources.xml
../../.idea/dataSources/
../../.idea/misc.xml
no changes added to commit (use "git add" and/or "git commit -a")
现在我再从第二步开始执行看看
kangpc@yiyan /e/1233/code/yiyan_api/myapp/migrations (master)
λ git commit -am "测试"
[master f40a00c9] 测试
2 files changed, 3 insertions(+), 3 deletions(-)
delete mode 100644 myapp/migrations/t2.txt
kangpc@yiyan /e/1233/code/yiyan_api/myapp/migrations (master)
可以看到,也是成功的,此时也把删除t2.txt的文件信息从本地工作区提交到了HEAD
下面push看下能不能同步到远程仓库
git push后果然成功了,查看远程仓库,确实文件也被删掉了
kangpc@yiyan /e/1233/code/yiyan_api/myapp/migrations (master)
λ git push
Enumerating objects: 11, done.
Counting objects: 100% (11/11), done.
Delta compression using up to 8 threads
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 533 bytes | 533.00 KiB/s, done.
Total 6 (delta 5), reused 0 (delta 0)
To gitlab.yonghui.cn:1233_kangpingcuan/yiyan_api.git
eba04a2e..f40a00c9 master -> master
综上,不管是通过使用命令行git rm还是pycharm的项目目录直接删除又或者电脑硬盘文件夹中删除都是可以的
所以本地工作区删除文件后,要同步到远程仓库,就是下面三个步骤:
- git rm xxx 或者直接手动在pycharm项目目录删除文件(后者是pycharm调用git rm命令)或者电脑硬盘文件夹中删除。
git rm命令会删除工作区的文件并且提交到暂存区
- git commit -am “msg” 可以将删除的文件信息从暂存区同步到本地仓库的HEAD
- git push 将以上改动推送到远端仓库
版权归原作者 我是一言 所有, 如有侵权,请联系我们删除。