本文共 2471 字,大约阅读时间需要 8 分钟。
github是一个免费的服务器,用户可以直接在此网站上定义属于自己的项目,github是免费开源的,个人学习使用是可以的。公司的项目管理会造成源代码泄露等不安全问题,github上大多是开源代码托管项目,个人隐私项目可以使用收费功能。github注册方式很简单,去github官网即可注册:,注册完成之后登陆,要使用github还需要生成一个SSH Key后才可以使用。
SSH Key
,Windows平台可以直接使用“git bash”命令窗口进行创建。ssh-keygen -t rsa -C "852995968@qq.com"
注册的时候提示输入密码,根据自己需要输入密码,完成之后会自动在用户所在目录下生成一个
.ssh
的目录,里面会保存有两个文件:私钥(id_rsa)、公钥(id_rsa.pub)。 - 打开github的设置页面 - 选择“SSH and GPG keys”按钮,表示要增加新的key。找到id_rsa.pub文件的内容进行复制(不能改变任何内容)。 此时表示已经让客户端和GITHUB之间建立好了一个安全的链接,由于SSH的存在,GITHUB才可以进行用户的识别,保证操作的安全性。 只有存在仓库,才表示用户可以进行使用。现在目标是将保存在本地仓库的文件发布到服务器上。
仓库名可以根据自己爱好设置,然后创建仓库,仓库创建成功之后会给出两种连接方式。
本地仓库必须使用以上的地址才可以发布到github服务器上,以上是我个人的演示github地址,在使用时可以使用自己的github地址。
git remote add origin https://github.com/shmilychan/hello.git
此时已经和远程仓库之间建立了连接,由于本地仓库内容没有提交到远程仓库,远程仓库没有任何内容。
git push -u origin master
以上代码操作是将文件进行推送,由于是第一次推送,而且推送的为master分支,使用
-u
的参数将远程的master和本地的master进行关联。 本次操作使用的是https方式进行提交代码,在操作过程中会要求用户输入自己的用户名和密码,也可以使用SSH方式进行提交,根据个人喜好选择就可以了,完成后可以切换到GITHUB 上进行查看。 git remote -v
这里,我进行测试的时候建立了一个SSH的(test)链接,在执行
git remote -v
操作之前还需要切换到origin
仓库,使用此命令git remote set-url origin https://github.com/shmilychan/hello.git
,在此,最好是删除掉test仓库,使用git remote rm test
进行删除操作。
public class hello{ public static void main(String args[]){ System.out.println("hello world"); }}
public class hello{ public static void main(String args[]){ System.out.println("hello world"); System.out.println("today is bad day"); }}
此时所做的所有修改都属于本地的修改,提交到服务器
git commit -a -m "change two files sysout content"
此时已经将更改内容提交到本地master分支上,然后进行客户端向远程仓库服务器端进行代码推送,执行成功就完成了本地代码与服务器端代码的同步工作。
git push origin master
实际在项目开发中,上面的执行过程是错误的操作过程,不能先在本地创建仓库然后提交到远程仓库,正确的做法应该是先有远程仓库,然后在本地克隆此远程仓库。
在这里我自己创建的仓库为hello_world,创建仓库选中“Initialize this repository with a README”表示自动为用户进行仓库的初始化,并且会自动存在一个“README”的文件。
git clone https://github.com/shmilychan/hello_world.git
克隆操作自己选择磁盘目录,建议不要选择C盘即可,克隆到本地然后在进行相应的项目开发,修改提交。。。
D:\myproject>cd \D:\>git clone https://github.com/shmilychan/hello_world.gitCloning into 'hello_world'...remote: Counting objects: 3, done.remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0Unpacking objects: 100% (3/3), done.Checking connectivity... done.
一些常用的开源项目,开源框架都会在github上进行托管,要使用了可以直接进行克隆,比如mabatis
https://github.com/mybatis