git增加删除文件
前言
GitHub并不支持在自己的项目界面直接删除文件,而需要使用GitHub桌面版或者git工具(Windows就需要配置git bash),这里提供使用colab或xshell(需连接远程Linux)的教程;而git版本控制工作方式是,使用本地的项目替代远程的,而不是仅提交文件或文件夹
简单流程
- 新建一个目录,所有操作在这里面做
!mkdir try
%cd try
- 新建本地git仓库
!git init
- 添加远程库,其中origin是别称,可以改
- 其中yourAccountName:yourPassword@github.com满足{account}:{password}@github.com格式,作为提交时候的身份认证(意味着不需要SSH认证),这里需要填你自己的账号密码以及替换成自己要修改的仓库
!git remote add origin https://yourAccountName:yourPassword@github.com/leaving-voider/Android-based_Fashion_Dection_in_real_time.git
- 将以origin为别称的项目的master分支pull到本地
!git pull origin master
- 将我要上传的复制到对应文件夹下,这里根据你自己的需要进行
!cp ../jupyter\ notebook.ipynb ./code
- 将我要删除的删掉
!rm ./code/colaboratory.ipynb
- 将当前目录下的所有文件加入暂存区
!git add .
- 添加commit操作,后面引号里的描述信息可以改
!git commit -m 'update jupyter notebook'
- 这一步说明你的身份,还是需要的,只是不需要SSH认证了
# !git config --global hub.protocol https
!git config --global user.email $email
!git config --global user.name $username
- 将本地的origin项目的master分支进行push,替代remote的那个master分支
!git push -u origin master
注:如果远程的branch名不是master,则需要!git checkout gh-pages来改当前所在branch,git branch可以查看所在branch
对非master branch修改
如果是对默认分支名字不叫master的repository进行修改,如GitHub pages,则需要在修改文件前进行分支切换,并在push也要改分支名
如下是该情况下的完整示例
!mkdir try
%cd try
!git init
# 这里的账号密码和repository信息同样需要替换
!git remote add origin https://yourname:yourpassword@github.com/leaving-voider/Android-based_Fashion_Dection_in_real_time.git
# 这里假设分支名叫做biubiu
!git pull origin biubiu
# 查看当前分支,虽然你拉取的是biubiu,但到了本地,默认就是在master branch,所以你应该会得到输出: master
!git branch
# 切换到biubiu分支
!git checkout biubiu
# 删除我要删的
!rm ./code/colaboratory.ipynb
!git add .
!git config --global user.email yourEmail
!git config --global user.name yourUsername
!git commit -m 'first update'
# 这里也相应改成biubiu即可
!git push -u origin biubiu
到此,就能成功删除GitHub repository里的相应文件了
更新:11/14/2021
自从2021八月开始,上述方法已经被取消了,不再支持
这里给出解决方案:在GitHub上申请你的Personal Access Token
进入GitHub账号, Settings => Developer Settings => Personal Access Token => Generate New Token (Give your password) => Fillup the form => click Generate token => Copy the generated Token
然后你就能得到你的token,复制保存下来,然后上传步骤和上面差不多,只不过不输入账号密码了:
!mkdir try
%cd try
!git init
# 不再有账号密码
!git remote add origin https://github.com/leaving-voider/Android-based_Fashion_Dection_in_real_time.git
# 假设分支名叫做biubiu
!git pull origin biubiu
# 查看当前分支
!git branch
# 切换到biubiu分支
!git checkout biubiu
# 如果biubiu不存在,可以创建(如果你想push到这个的话)
!git checkout -b biubiu
# 删除我要删的或者添加
!rm ./code/colaboratory.ipynb
!git add .
!git commit -m 'first update'
# 这里也相应改成biubiu即可
!git push -u origin biubiu
然后你就能看到弹出一个框,输入你的token即可
这种方法可以上传大文件>25M,且文件数量可以上百。而这些操作在网页UI都做不了