最近因为需要远程办公,所以决定使用git进行项目的版本管理,因为之前都是用的SVN进行管理的,所以还是学习了一下git的基本使用,大大们勿笑。
1. 先创建一个本地的版本库(即创建一个文件夹)
你可以直接右击新建文件夹,也可以打开 git-bash.exe命令行窗口通过命令来创建。
现在我通过命令行新建一个test文件夹(你也可以在其他任何地方创建这个文件夹),并且进入该文件夹目录下。
2. 通过命令 git init 把这个文件夹变成Git可管理的仓库
这时你会发现test里面多了个.git文件夹,它是Git用来跟踪和管理版本库的。
如果你看不到,是因为它默认是隐藏文件,那你就需要设置一下让隐藏文件可见。
这时候你就可以把你的项目粘贴到这个本地Git仓库里面(粘贴后你可以通过git status来查看你当前的状态)
3. 使用命令 git add . 把项目添加到暂存区里面去,不要忘记后面的小数点“.”,意为添加文件夹下的所有文件
在这个过程中你其实可以一直使用git status来查看你当前的状态。
4. 用 git commit -m "第一次提交"把项目提交到仓库。
-m后面引号里面是本次提交的注释内容,这个可以不写,但最好写上,不然会报错,详情自行Google。 好了,我们本地Git仓库这边的工作做完了,下面就到了连接远程仓库(也就是连接Github)
5. 远程仓库设置
由于本地Git仓库和Github仓库之间的传输是通过SSH加密的,所以连接时需要设置一下:
-
5.1、创建SSH KEY。先看一下你C盘用户目录下有没有.ssh目录,有的话看下里面有没有id_rsa和id_rsa.pub这两个文件,有就跳到下一步,没有就通过下面命令创建
$ ssh-keygen -t rsa -C "youremail@example.com"
然后一路回车。这时你就会在用户下的.ssh目录里找到id_rsa和id_rsa.pub这两个文件.
-
5.2、登录Github --->点击右上角的图标 --->选择Settings --->点击左边的SSH and GPG KEYS --->点击右上角的New SSH key --->Title随便填 --->把刚才id_rsa.pub里面的内容复制到Title下面的Key内容框里面 --->最后点击Add SSH key --->完成SSH Key的加密。具体步骤如下:
-
5.3、在Github上创建一个Git仓库。
6. 在Github上创建好Git仓库后通过命令git remote add origin git@github.com:linsili/test.git和本地仓库进行关联
注意 origin 后面加的是你Github上创建好的仓库的地址。
7. 关联好之后通过命令git push -u origin master将本地库的所有内容推送到远程仓(Github)
由于新建的远程仓库是空的,所以要加上-u这个参数,等远程仓库里面有了内容之后,下次再从本地库上传内容的时候只需 git push origin master
刷新Github页面进入刚才新建的仓库里面就会发现项目已经上传成功
至此完成将本地项目上传到Github的整个过程。
注意有坑:
在上面第5步新建远程仓库的时候如果你勾选了Initialize this repository with a README(就是创建仓库的时候自动给你创建一个README文件),那么到了第7步你将本地仓库内容推送到远程仓库的时候就会报一个failed to push some refs to https://github.com/guyibang/TEST2.git的错。
原因:
由于你新创建的那个仓库里面的README文件不在本地仓库目录中,这时我们可以通过git pull --rebase origin master命令先将内容合并,此时再push就能成功了。
总结:本地项目通过git上传到github- 1)、在本地创建一个版本库(即文件夹),通过git init把它变成Git仓库;
- 2)、把项目复制到这个文件夹里面,再通过git add .把项目添加到仓库;
- 3)、再通过git commit -m "注释内容"把项目提交到仓库;
- 4)、在Github上设置好SSH密钥后,新建一个远程仓库,通过git remote add origin 远程仓库地址将本地仓库和远程仓库进行关联;
- 5)、最后通过git push -u origin master把本地仓库的项目推送到远程仓库(也就是Github)上。