一、快速
1、如果已配置过SSH KEY,只需要3和4即可!
2、项目更新,只需要3-(2~4),4-(3)即可。
这里是第一次把项目传上去后,项目更新时用到的命令。
命令一键粘贴:
git status
git add .(-A) //-A包括删除、更新和新增,.不包括删除 git commit -m "更新说明" [git pull --rebase origin master] // 第一次从git下载readme文件才执行,否则本地代码被覆盖,会死人的。幸亏git提示不能直接pull,因为本地有unstaged changes.
git push (-u) origin master // 第一次用-u。
二、基本步骤
1、准备工作
(1)下载安装,配置环境变量
a. 注册github,下载git工具。
b. 截图安装:
https://www.jianshu.com/p/414ccd423efc
https://blog.csdn.net/sishen47k/article/details/80211002
c. 配置环境变量:和JAVA环境变量一样。
(2)config全局登录
全局用户登录,只需要第一次安装Git时登录,以后都不用了。
a. 全局用户名:git config --global user.name "用户名"
b. 全局邮箱:git config --global user.email "邮箱"
2、Git生成SSH KEY,实现GitHub免密登录
(1)创建SSH KEY
a. 先看一下你C盘用户目录下有没有.ssh目录,有的话看下里面有没有id_rsa和id_rsa.pub这两个文件,有就跳到下一步,没有就通过下面命令创建。
b. 创建ssh key,用来git与github交互:ssh-keygen -t rsa -C "注释" // 很多博客写的是-C "邮箱",-C后本质是注释,只用来区分机器,不如换成自己的注释,见Git登录理解
c. 一路enter就好,再检查,发现出现了id_rsa和id_rsa.pub这两个文件。
(2)GitHub添加SSH key
在GitHub上,鼠标放到头像上,点击setting—SSH and GPG keys—New SSH key,把id_rsa中的内容粘贴上去,点击Add SSH key按钮提交。
参考: https://blog.csdn.net/u013778905/article/details/83501204
(3)测试是否成功配置SSH Key
$ ssh -T git@github.com
Hi ssyybbiill! You've successfully authenticated, but GitHub does not provide shell access.
(4)更多Bug
请看【三、Bug】
3、本地提交
(1)初始化本地Git仓库
a. 在[待上传项目的根目录]右键,选择git bash,出现黑窗
b. 初始化本地Git仓库:git init
(2)查看状态
git status
这个命令可以查看,与上次提交相比,当前项目的修改情况。
(3)add添加当前修改到暂存区
git add -A
a. git add -A 提交所有变化
b. git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
c. git add . 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
参考:https://www.cnblogs.com/skura23/p/5859243.html
(4)commit提交到本地Git仓库
git commit -m "更新说明"
4、远程提交
(1)在GitHub上创建一个远程仓库
a. 在GitHub上创建一个Repository仓库,仓库地址为:git@github.com:ssyybbiill/DeepLearning.git
b. 一个小坑:私有仓库默认branch是main,公共仓库默认branch是master,所以,如果是private,那就要把下面命令中的所有master换成main,或者直接在GitHub上把默认分支设置为master之后再操作!
(我就是这个小坑,导致提交的东西都看不到,原来是分支名称错了!!!)
(2)本地Git仓库与远程GitHub仓库关联
git remote add origin git@github.com:ssyybbiill/DeepLearning.git
中间在GitHub上的操作时间过长,可能超时,需要重新打开一下Git Bash。
这个origin是为远程仓库起的别名,全名是“git@github.com:ssyybbiill/DeepLearning.git”,如果有多个远程仓库,必然有多个别名!
例如,需要同步GitHub和Gitee时,同时关联两个远程仓库:
git remote add github git@github.com:ssyybbiill/DeepLearning.git
git remote add gitee git@gitee.com:ssyybbiill/DeepLearning.git
(3)把本地Git仓库push到远程GitHub仓库
a. 如果你在GitHub创建仓库时有ReadMe文件,先pull下来:git pull --rebase origin master
(每次pull之前,都需要先add和commit!)
b. 新建的远程仓库是空的,所以要加上-u这个参数:git push -u origin master
c. 远程仓库里面有了内容之后,就不用-u了:git push origin master
到此为止,本地项目就传上去了!
三、Bug
1、github添加SSH key时,Key is already in use,一个电脑只能一个key,被占用了,删除重新添加就行了
参考:https://blog.csdn.net/m0_38072683/article/details/82939535
2、SSH设置免密登录,却要输入私钥:
简单方法:一直按enter就好了!密码也是enter,多省事儿!
参考:https://blog.csdn.net/chenhanxuan1999/article/details/89633347
其他方法:https://blog.csdn.net/qq_31977125/article/details/102736460
3、bash: $'\302\226': command not found:命令相关的错,最好的办法就是关了重开!
git bash时间太长挂掉了,重新打开就好了!
可能命令前面多一个空格。。。
4、rejected,fail to push:
README文件不在本地仓库目录中,需要先pull下来再push上去。
更多:
idea+github把本地idea中项目上传到github上
作者:西伯尔
出处:http://www.cnblogs.com/sybil-hxl/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。