Ubuntu中使用git远程上传到GitHub
1 准备工作
1 如果第一次上传代码,需要配置用户名和邮箱!可以在setting-account中修改用户名
pj@pj:$ git config --global user.name "Pj"
pj@pj:$ git config --global user.email "xxx@qq.com"
2 配置密匙,中间过程默认回车即可
3 将公匙放入GitHub,以ssh-rsa开头
pj@pj:$ gedit ~/.ssh/id_rsa.pub # 公匙
pj@pj:$ gedit ~/.ssh/id_rsa # 私匙,不需提交
2 在Github创建一个仓库
3 开始上传
终端进入我们需要上传项目所在的文件夹,使用git的初始化命令(如果之前已经初始化过,直接跳转remote):
git init # 初始化一个新的Git仓库
上传之前,我们需要添加上传的文件,这里我们要上传当前文件夹内的所有文件
git add ./ # 把文件添加到暂存区
查看查看当前项目的分支以及添加文件的情况
git status
提交暂存区的文件到版本库
git commit -m "提交项目相关信息" # 把暂存区内容提交到本地仓库
添加一个远程仓库,命名为origin
git remote add origin git@github.com:pj66666/NeuroSLAM.git
# 添加远程仓库地址,如果显示fatal: 远程 origin 已经存在。那么先删除本地仓库和远程仓库的连接,再进行连接
git remote rm origin
git remote add origin git@github.com:pj66666/NeuroSLAM_C-.git
添加文件到远程仓库
git remote set-url origin git@github.com:pj66666/NeuroSLAM_C-.git
使用push指令进行上传,再次刷新GitHub即可发现上传成功。
git push -u origin master # git push <远程仓库名> <远程分支名> 这里origin是默认远程仓库别名,master是分支名
git tag -a v1.0 -m "Version 1.0" # 创建一个标签,1.0版本
git push origin v1.0 # 将刚刚创建的标签推送到远程仓库 命令格式 git push origin <版本号>
补充:关于后续版本的上传问题前面步骤照做,因为已经有了相关的分支master,所以这里不需要git push -u origin master
,直接上传相应的版本即可!
git tag -a v1.1 -m "version 1.1"
git push origin v1.1
git checkout -b <新分支名> # 在仓库创建一个新的分支
git push origin <新分支名> # 其余同理
4 报错
4.1 报错1
报错记录:git push 失败
To github.com:pj66666/RF2o_detailed_comment.git
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'git@github.com:pj66666/RF2o_detailed_comment.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
解决方案
git pull origin master --allow-unrelated-histories
git status
git add .
git commit -m "Merge remote-tracking branch 'origin/master'"
git push origin master
4.2 报错2
error: You have not concluded your merge (MERGE_HEAD exists).
hint: Please, commit your changes before merging.
fatal: Exiting because of unfinished merge.
错误表明在 Git 中有一个未完成的合并(merge)操作,而你试图进行其他的操作,如推送更改之前,必须先完成或取消这个合并
解决方法
完成或取消合并:
如果你想完成这个合并,解决所有可能存在的冲突,然后使用以下命令完成合并:
git commit -m “Complete merge”
如果你想取消合并,使用以下命令:
git merge --abort
推送更改:
一旦合并完成或取消,你可以再次尝试推送你的更改:
git push origin master
5 私有仓库增加协作者
在输入框输入对方的GitHub名字或者注册邮箱即可。添加后,把邀请链接发给对方,对方打开同意即可。最后,对方(协作者)可以在其setting -> Repositories最底部看到这个仓库。在github首页是看不到的