之前一直使用的是svn,最近公司开始使用git进行版本控制,下面把基本思路和流程分享出来
第一步:我们需要先创建一个本地的版本库(其实也就是一个文件夹)。
你可以直接右击新建文件夹,也可以右击打开Git bash命令行窗口通过命令来创建。
现在我通过命令行在桌面新建一个TEST文件夹(你也可以在其他任何地方创建这个文件夹),并且进入这个文件夹
第二步:通过命令git init把这个文件夹变成Git可管理的仓库
这时你会发现TEST里面多了个.git文件夹,它是Git用来跟踪和管理版本库的。如果你看不到,是因为它默认是隐藏文件,那你就需要设置一下让隐藏文件可见。
第三步:这时候你就可以把你的项目粘贴到这个本地Git仓库里面(粘贴后你可以通过git status来查看你当前的状态),然后通过git add把项目添加到仓库(或git add .把该目录下的所有文件添加到仓库,注意点是用空格隔开的)。在这个过程中你其实可以一直使用git status来查看你当前的状态。
这里提示你虽然把项目粘贴过来了,但还没有add到Git仓库上,然后我们通过git add .把刚才复制过来的项目全部添加到仓库上;其实这块只是添加到缓存区,只有提交之后才可会到git仓库。
第四步:用git commit把项目提交到仓库。
-m后面引号里面是本次提交的注释内容,这个可以不写,但最好写上,不然会报错,详情自行Google。 好了,我们本地Git仓库这边的工作做完了,下面就到了连接远程仓库(也就是连接Github)
由于本地Git仓库和Github仓库之间的传输是通过SSH加密的,所以连接时需要设置一下:
第五步:创建SSH KEY。先看一下你C盘用户目录下有没有.ssh目录,如果没有
在windows7下安装git后,运行 cd ~/.ssh
$ bash: cd: /c/Users/Administrator/.ssh: No such file or directory
出现以上问题
原因:在windows7下安装git后没有ssh
解决办法是: 全部留空即可,一路回车
$ ssh-keygen -t rsa -C “邮箱地址” ##回车(写的时候""不能少,此邮箱有要求,即就是你把代码上传到
##gitHub上,邮箱就是注册gitHub的邮箱,把代码上传到华为云
##上, 就是公司提供的注册华为云的邮箱)
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa): ##回车
Created directory ‘/c/Users/Administrator/.ssh’.
Enter passphrase (empty for no passphrase): ##回车
Enter same passphrase again: ##回车
,有的话看下里面有没有id_rsa和id_rsa.pub这两个文件,有就跳到下一步,没有就通过下面命令创建
$ ssh-keygen -t rsa -C "youremail@example.com"
然后一路回车。这时你就会在用户下的.ssh目录里找到id_rsa和id_rsa.pub这两个文件
id_rsa:ssh的私钥
id_rsa.pub:ssh的公钥,在服务器中要添加公钥,就相当给你一个权限,你可以访问此服务器
1.ssh-keygen 是公钥私钥的非对称加密方式:
1.1.公钥:用于向外发布,任何人都能获取。
1.2.私钥:要自己保存,切勿给别人
2.公钥私钥加解密的原理
2.1.客户端把自己的公钥存放到要链接的远程主机上(相当于我们把自己的 id_rsa.pub 存放到 git 服务器上)
2.2.客户端要链接远程主机的时候,远程主机会向客户的发送一条随机的字符串,客户的收到字符串之后使用自己的私钥对字符串加密然后发送到远程主机,远程主机根据自己存放的公钥对这个字符串进行解密,如果解密成功证明客户端是可信的,直接允许登录,不在要求登录。
,现在id_rsa.pub这个文件夹中就会有公钥,可以直接找到此文件夹复制,也可使用命令行查询
$ cat id_rsa.pub
第六步:登录Github,找到右上角的图标,打开点进里面的Settings,再选中里面的SSH and GPG KEYS,点击右上角的New SSH key,然后Title里面随便填,再把刚才id_rsa.pub里面的内容复制到Title下面的Key内容框里面,最后点击Add SSH key,这样就完成了SSH Key的加密。具体步骤也可看下面:
第七步:在Github上创建一个Git仓库。
你可以直接点New repository来创建,比如我创建了一个TEST2的仓库(因为我里面已经有了一个test的仓库,所以不能再创建TEST仓库)。
第八步:在Github上创建好Git仓库之后我们就可以和本地仓库进行关联了,根据创建好的Git仓库页面的提示,可以在本地TEST仓库的命令行输入:
$ git remote add origin https://github.com/guyibang/TEST2.git
注意origin后面加的是你Github上创建好的仓库的地址。
第九步:关联好之后我们就可以把本地库的所有内容推送到远程仓库(也就是Github)上了,通过:
$ git push -u origin master
由于新建的远程仓库是空的,所以要加上-u这个参数,等远程仓库里面有了内容之后,下次再从本地库上传内容的时候只需下面这样就可以了:
$ git push origin master
上传项目的过程可能需要等一段时间,完成之后是这样的:
这时候你再重新刷新你的Github页面进入刚才新建的那个仓库里面就会发现项目已经成功上传了:
至此就完成了将本地项目上传到Github的整个过程。
另外,这里有个坑需要注意一下,就是在上面第七步创建远程仓库的时候,如果你勾选了Initialize this repository with a README(就是创建仓库的时候自动给你创建一个README文件),那么到了第九步你将本地仓库内容推送到远程仓库的时候就会报一个failed to push some refs to https://github.com/guyibang/TEST2.git的错。
这是由于你新创建的那个仓库里面的README文件不在本地仓库目录中,这时我们可以通过以下命令先将内容合并以下:
$ git pull --rebase origin master
这时你再push就能成功了。
总结:其实只需要进行下面几步就能把本地项目上传到Github
1、在本地创建一个版本库(即文件夹),通过git init把它变成Git仓库;
2、把项目复制到这个文件夹里面,再通过git add .把项目添加到仓库;
3、再通过git commit -m "注释内容"把项目提交到仓库;
4、在Github上设置好SSH密钥后,新建一个远程仓库,通过git remote add origin https://github.com/guyibang/TEST2.git将本地仓库和远程仓库进行关联;
5、最后通过git push -u origin master把本地仓库的项目推送到远程仓库(也就是Github)上;(若新建远程仓库的时候自动创建了README文件会报错,解决办法看上面)。
这里只是总结了Git上传项目的一些基本操作,要想更好地使用Git还需更进一步的学习。
转自:https://blog.csdn.net/liuweixiao520/article/details/78971221