在windows系统将项目代码文件上传到GitHub上去,如在Pycharm上写机器学习项目,需要将整个文件夹的代码和测试数据上传,具体可用git工具实现。
1.在GitHub上创建仓库
在官网:https://github.com/ GitHub上注册账号,建立名为test的仓库
2.安装git客户端
在官网:https://git-scm.com/ 下载安装,完成后进入Git Bash窗口,与GitHub建立ssh通信
2.1输入指令,进入.ssh文件夹,没有则创建
cd ~/.ssh/ # 进入.ssh文件夹
mkdir ~/.ssh # 创建.ssh文件夹
2.2配置name和email
git config --global user.name "你的用户名与GitHub一致"
git config --global user.email "你的邮箱与GitHub一致"
2.3生成key,设置密码
ssh-keygen -t rsa -C "你的邮箱与GitHub一致"
最后得到私钥和公钥两个文件:id_rsa和id_rsa.pub
输入:eval "ssh-agent -s"
再输入:ssh-add ~/.ssh/id_rsa
,设定ssh的密码
若产生“could not open a connection to your authentication agent”错误,输入:ssh-agent bash
,再输入:ssh-add ~/.ssh/id_rsa
就可以了
2.4复制公钥到GitHub上
可通过vim id_rsa.pub
访问复制或本地文本打开复制,粘贴到GitHub的指定位置即可
3.在windows上用Git Bash上传文件
- 3.1建立本地仓库
查看文件夹位置
pwd
查看文件夹中的内容
ls
将文件夹变成Git可以管理的仓库:
git init
将所有文件提交到暂存区
git add . # .代表将文件下所有的文件提交,也可指定某个文件提交
git commit -m '更新信息'。 # 提交到本地仓库,注释信息
- 3.2 将本地仓库与GitHub网站的仓库进行关联
git remote add origin https://github.com/xxx/test.git
后面的网址是在GitHub网站上建立的仓库位置,可以从网站上进行复制,如下
将本地仓库与GitHub网站上的仓库进行关联后,便可进行推送了
- 3.3 推送
第一次进行推送时,需要注意的是,GitHub网站上的仓库并非是空的,我们在创建时创建了一个README文档,因此需要将两者进行合并才行。
git pull --rebase origin master
最后推送即可
git push -u origin master # 第一次推送,将master分支的所有内容都提交
git push origin master # 非第一次推送,将master分支的所有内容都提交
推送完成,回到GitHub网站查看即可
git常见报错1: fatal: Couldn’t find remote ref master
解决方法:
1.检查本地的用户名和邮箱是否填写正确
git config user.name
git config user.email
2.检查远程仓库配置是否正确,如果远程仓库信息有误,则删除重新添加
git remote -v
git remote rm origin
git remote add origin XXXX
git常见报错2:如果有未提交的更改,是不能git pull的
error: Cannot pull with rebase: You have unstaged changes.
error: Additionally, your index contains uncommitted changes.
解决方法:
先执行git stash
# 可用来暂存当前正在进行的工作
再执行git pull –rebase
# 将远程库中的更改代码合并到当前分支中
最后再执行git stash pop
# 从Git栈中读取最近一次保存的内容
参考文献
https://git-scm.com/book/zh/v2
https://www.liaoxuefeng.com/wiki/896043488029600