1.首先进入GitHub网站,注册一个账号。
2.点这个,新建一个库:
3.起个拉风的库名,创建:
4.选择SSH,你问为啥不用https,方便呗,不用每次上传项目时输用户名和密码:
这是用https上传的效果,而且还要配置用户名和邮箱,而且国内的网速,你懂的,卡了我好久:
5.言归正传,那么怎么用ssh上传呢?首先你需要安装一个叫git的软件:
https://git-scm.com/downloads
安装完成后,创建一个空文件夹,这是个人习惯,你也可以直接在本地项目文件夹下操作:
进入这个文件夹,鼠标右击,选择git bash here,打开输入命令:
ssh-keygen -t rsa -C "个人的电子邮件"
表示我们指定 RSA 算法生成密钥,然后敲三次回车键,期间不需要输入密码,之后就就会生成 两个文件,分别为id_rsa和id_rsa.pub,即密钥 id_rsa和公钥id_rsa.pub. 对于这两个文件,其都为隐藏文件,默认生成在以下目录:C:\Users(用户)\yangoctopus(自己安装系统时取的名字)\.ssh
6. 打开id_rsa.pub,全选-复制,回到GitHub,选择setting:
向左看,选择ssh and gpg keys:
向右看:
随便看,把复制的密钥全部黏贴到下面的大框中,title可以不用管它,然后add ssh key,就大功告成了:
回到git bash中,进行测试:ssh -T git@github.com,选yes:
7. 回到GitHub自己刚创建的库中,选择ssh,复制页面上的一段代码:
直接黏贴到git bash中,一连串的代码之后,在按个回车,就行了,刷新后,你就可以看到上传的内容了。
8. 常见bug
如果在上传的时候出现这样的错误:fatal: remote origin already exists.
这是因为你这个文件夹中已经存贮了另一个远程仓库的地址,
输入:git remote rm origin
再输入:git remote add origin 自己的ssh地址
或者重新换个文件夹,就可以了。
如果输入$ git push origin master
提示出错信息:error:failed to push som refs to …….
则需要先拉取远程仓库上面的项目文件:git pull,再push一下,如果接着报错
fatal: Couldn’t find remote ref master或者fatal: ‘origin’ does not appear to be a git repository以及fatal: Could not read from remote repository.
则再次需要输入:git remote add origin 自己的ssh地址
9.常用git命令总结
1 如何初始化一个项目
1.1 gitlab里面新建
1.2 mkdir 文件夹(项目) cd 文件夹
1.3 初始化项目 git init
1.4 添加新文件 touch 文件名 修改文件 vi 文件名
1.5 git status 查看之前的仓库和现在的不同
1.6 git add 文件(夹) 把文件添加到仓库 添加了暂存区
1.7 git commit 文件(夹) -m"注释" 暂存区的所有内容提交到当前分支。
1.8 git log 查看git的提交记录 漂亮一点 git log -- pretty=oneline 出现版本号 你的注释
1.10 在git里面 我们使用HEAD 表示什么最新的版本号
1.11 git 回退到一个版本上面 git reset --hard 版本号 可以向前,也可以回去 (版本号必须记住)
1.12 git 为我们自动创建了一个master 分支 自动创建的
1.13 git checkout -- 文件名 撤销我们对文件的修改 还没有添加到暂存区
1.14 git reset HEAD 文件名 已经添加到了暂存区 git reset HEAD 只是把它从缓存区拿回来了 并没有把我们的文件撤销修改,要撤销修改,使用上一个命令!
1.15 rm 文件名 强制(-f) 从本地删除 git rm 文件 git commit -m"删除的文件"
1.16 ssh-keygen -t rsa -C "个人的电子邮件" 生成密钥 私钥 公钥(pub)
1.17 生成ssh-key 公钥是为了验证是我们自己提交的,不是别人.当然,你也可以使用https协议 每次你都需要使用用户名和密码来验证是你! https速度慢
1.18 git remote add origin (自己的git ssh 地址) 关联一个远程库
1.19 git push -u origin master 把我们本地的仓库推送到了我们的远程服务器上
1.20 git clone (自己的git ssh 地址) 就是新建的项目克隆到本地 会出现一个文件夹 名字为项目的名称
1.21 git branch 分支名 创建一个新的分支
1.22 git checkout 分支名 在 相当于创建了一个新的指针 这个指针指向master最新的版本上面
1.23 git checkout -b 分支名 创建新的分支并且切换
1.24 查看所有的分支 git branch git branch -r 查看远程的分支
1.25 git merge (分支) 所在的分支合并该分支
1.26 git branch -d (分支) 删除一个分支 注意: 若删除的分支比master 多走了一步(多步) ,首先要合并新走的步,再删除 如果,master 不想向前走 git branch -D(强制删除) 分支名
1.27 git merge 两个有冲突的分支时间,需要手动合并, 如何手动合并: 打开我们的修改的文件,手动把>>>> <<<< 删掉 经过严格的代码审查 才决定如何合并
1.27.1 将代码审查完毕后,手动add 这个文件 在手动commit 它,就ok了
1.28 分支的管理策略,一般被任务池所代替 你一天要做啥,后面几天要做啥
1.29 git stash 保存当前没有提交和添加到代码库的文件(存储)
1.30 git stash list 查看你当前保存的文件(或分支)
1.31 git stash apply stash{0} 恢复你工作的分支 不建议使用,这个恢复后,你还有手动删除这个存储的文件
1.32 git stash pop stash{0} 推荐使用 自动删除 这个弹得过程,会自动合并分支,冲突也会合并! 一般pop 后,你要检查有冲突的文件
1.33 git branch origin/分支名 在远程创建分支
1.34 把本地的分支推送到远程 git push origin 分支名称
1.35 git checkout -b 本地分支 origin/远程分支 (名称相同)
1.36 一般使用git pull来拉取代码master的代码
10. 廖雪峰老师的git教程网站,大家可以看看:
https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000