Github备忘录——上传代码
由于没有经常上传代码的需要,故上传代码时总会有所遗忘,因而浪费时间,故做此记录!!(基于Linux的操作)
一、生成密钥
ssh-keygen -t rsa -C "github的绑定邮箱"
此时默认将公钥文件
id_rsa.pub
、密钥文件id_rsa
生成到~/.ssh
下,注意保护好密钥安全不可泄露;
然后将公钥内容粘贴到github的Settings
—>SSH and GPG keys
—>New SSH key
—>Key
下。
二、建立仓库开始上传
- cd到本地项目根目录,执行git命令
git init
,此时会自动创建一个".git"文件 (建立git仓库) - 将项目的所有文件添加到仓库中
git add .
(注意:点不能少) (本地所选文件添加到仓库中) git config --global user.email "xxxxxxx@163.com"
git config --global user.name "your username"
git commit -m "自定义commit内容"
或者git commit
(将add的文件commit到仓库)git remote add origin git@github.com:xxxx/xxx.git
git push -u origin master
(上传代码到github远程仓库的master分支下)
三、上传遇到的错误
fatal: Not a git repository (or any parent up to mount point /media/raywit/2AA4C0D3A4C0A325)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
–> 解决办法:重新在当前项目根目录下git init
。
提示:更新被拒绝,因为远程仓库包含您本地尚不存在的提交。这通常是因为另外
提示:一个仓库已向该引用进行了推送。再次推送前,您可能需要先整合远程变更
提示:(如 'git pull ...')。
–> 解决办法:强行上传:git push -u origin +master
。
四、删除远端文件
有时候上传项目的时候,发现有些文件不需要上传,但是因为遗忘导致上传成功,如何将这些文件下架呢?
git pull origin master
# 将远端仓库项目pull下来git rm -r --cached *.txt
# 删除目标文件(示例:所有的txt文件)git commit -m 'xxx'
# push前进行说明git push -u origin master