将GIT本地仓库上传到GitHub的远程仓库
将GIT本地仓库上传到GitHub的远程仓库
一、GitHub服务端的创建
1、首先创建个GitHub账户。
2、验证你绑定的邮箱
GitHub一般会提示你验证你的邮箱,如果是QQ邮箱绑定的话,QQ邮箱可能即使收到了邮件后,但是仍然不能进行验证邮箱。
通过进行邮箱的设置则最终能够进行验证邮箱
1、点击设置
2、在反垃圾中设置设置域名白名单
3、在白名单中添加github.com
这样之后你的qq邮箱就可以进行验证了。
3、在你的github上创建你的一个项目(New repository)
Repository name :你项目的名字
Description :对你项目的描述
Public :你的项目是开源的,任何人都可以访问
Private :你的项目是私有的,只有你自己可以查看
Initialize this repository with a README :给自己的项目初始化一个readme
配置**,只是为了上传文件到GitHub的时候不需要输入密码等操作。
在windows的git bash上输入
$ssh-****** -t rsa
#连按回车三下,因为他会要求你设置git本地的登陆密码,直接按回车表示不设置密码
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/huanshangfeng/.ssh/id_rsa): Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/huanshangfeng/.ssh/id_rsa.
Your public key has been saved in /c/Users/huanshangfeng/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:c7C9CgiSgYZKxuh/9vsgZAhAsj76ceYtcgjLDonPJRM aaa@qq.com
The key's randomart image is:
+---[RSA 2048]----+
|+. |
|B. |
|** . |
|Bo. . + |
|++E. o S o |
|+oooo. o . |
|*o+o=+.. . |
|o=oO=.o... |
|..+o...o+. |
+----[SHA256]-----+
#在显示上面的内容后,在执行后续操作
$cat ~/.ssh/id_rsa.pub
#下面显的就是你的**
#ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZJLyIJjkpEvk/hvdYRo2lapx8biu3
W0cKEZ6ouE9BQrWIQcm7FYk510mbRDPHV9FCnKt5qLF9UkR1aXE7iMq7aPmftXzH
iuuWTvn/v9GP95EUHBOqWWTnCey9V7E5HOhyJ04N0HPnqwRuLuhiK36piho6GkoI+
LN08PVJyDxXBljwxbobfOj5L3hvNyxGHXyZA9RuYPeMHe1yPkhHlJaqbpPfMMVUEHV
2b+W2kaWfPjRDZ6rKOKMYxkuXA/j9yQ/Xmzyp0PkX49D+7JaBMpFf2VetsnbO09Jt6H
mQ3cLLkngM3inxDXWysgyurQtcidzXHE5JSZb3Ts8GnY+3v6Yn aaa@qq.com
1、打开设置
2、添加**,将得到的公钥复制进去就可以
到此GitHub服务端的创建已经完毕!!!
客户端的搭建及其使用
下载GIt Bash,戳进去有完整的教程。
1、配置Git
这一步相当的重要,当你与他人合作一个项目的时候,你向远程仓库上传代码的时候必须留下你的名字,不然你的伙伴压根不知道你上传的代码是哪一份,在每一次上传时,git都会提示你
git config --global user.name"your name" #必须是你GitHub的名字
git config --global user.email"aaa@qq.com"#GitHub的邮箱
2、创建本地仓库,并初始化,当然如果你是从GitHub上克隆下来的文件夹它是已经初始化的,可以直接做后面的操作
#打开Git Bash创建一个空的文件夹
mkdir test
cd test
git init #初始化本地仓库
Initialized empty Git repository in E:/test/.git/ #初始化成功的仓库后的提示
3、用简单的名字来表示你要上传的url,当然你如果直接在克隆下来的仓库下就可以不用执行这一步,它会自动将github仓库地址变为origin
#git remote [shortname] [url] #shortname:你定义的名字。 url:GitHub的地址
git remote add origin https://github.com/HSF473/test.git
使用git remote 查看自己设置的所有名字
使用git remote -v 查看更加详细的信息
使用git remote rm [别名] 删除已经设置好的的远程目录
4、上传文件到GitHub的仓库
1、git add 加入上传文件到缓存
2、执行 git commit 将缓存区内容添加到本地仓库中
3、上传文件到GitHub仓库
我已经事先将一个test.txt文件储存在本地仓库中
使用git status 或者 git status -s 的命令可以看到当前文件的状态,红色代表该文件并没有加入缓存
#使用git add命令加入缓存
git add [文件名] #将一个文件加入缓存当中
git add . #将该仓库中所有的文件都加入缓存当中
加入缓存后查看发现,提交的文件变成绿色
再次之后我对test.txt文件的内容进行了改动,使用git status后会告诉你该文件有改动,颜色变成红色,AM表示改动
当你想要想远程仓库加入最新改动的文件时,需要在此使用git add将文件加入缓存
5、执行 git commit 将缓存区内容添加到本地仓库中
git commit -m"注释" #可以通过注释来标识此次上传改动了什么。
#上传之后,使用git status就可以看到缓存区里已经没有东西
6、上传文件到GitHub仓库
git push -u origin master #origin为你要上传的地址的别名
#添加-u是当你的GitHub远程仓库为空的时候,添加-u提交文件
#再此之后的提交直接输入git push origin master
注意: 有时候你提交的文件,和GitHub仓库的文件不一致的时候。会出现如下的报错。
使用 git pull --rebase origin master 命令将仓库合并,再次之后在提交文件就没有问题
7、版本回退的问题
git log #可以查看所有的提交
#我预先提交了两个版本的test.txt
#当我们直接使用git clone下载的是最新的版本
git reset --hard (五六个数字)#上图 **黄色字体** commith后的数字
#这样就可以回到你想要的版本
但此时GitHub仓库还是我们之前提交的最新的版本,如果想要远程仓库的版本和我们当前版本保持一致,使用git push -f 强制回退版本