GIT学习(三)_远程仓库(GITHUB)

时间:2022-01-07 05:01:47

远程仓库(GitHub)

注册github

github是一个免费的服务器,用户可以直接在此网站上定义属于自己的项目,github是免费开源的,个人学习使用是可以的。公司的项目管理会造成源代码泄露等不安全问题,github上大多是开源代码托管项目,个人隐私项目可以使用收费功能。github注册方式很简单,去github官网即可注册:https://github.com,注册完成之后登陆,要使用github还需要生成一个SSH Key后才可以使用。

  • 生成一个SSH Key,Windows平台可以直接使用“git bash”命令窗口进行创建。
  • 生成一个RSA编码的KEY
ssh-keygen -t rsa -C "852995968@qq.com"

GIT学习(三)_远程仓库(GITHUB)
注册的时候提示输入密码,根据自己需要输入密码,完成之后会自动在用户所在目录下生成一个.ssh的目录,里面会保存有两个文件:私钥(id_rsa)、公钥(id_rsa.pub)。
- 打开github的设置页面
GIT学习(三)_远程仓库(GITHUB)
- 选择“SSH and GPG keys”按钮,表示要增加新的key。找到id_rsa.pub文件的内容进行复制(不能改变任何内容)。
GIT学习(三)_远程仓库(GITHUB)
此时表示已经让客户端和GITHUB之间建立好了一个安全的链接,由于SSH的存在,GITHUB才可以进行用户的识别,保证操作的安全性。

添加远程仓库

只有存在仓库,才表示用户可以进行使用。现在目标是将保存在本地仓库的文件发布到服务器上。

在GITHUB上创建新的仓库;

GIT学习(三)_远程仓库(GITHUB)
仓库名可以根据自己爱好设置,然后创建仓库,仓库创建成功之后会给出两种连接方式。

本地仓库必须使用以上的地址才可以发布到github服务器上,以上是我个人的演示github地址,在使用时可以使用自己的github地址。

把GITHUB与本地仓库相关联

git remote add origin https://github.com/shmilychan/hello.git

此时已经和远程仓库之间建立了连接,由于本地仓库内容没有提交到远程仓库,远程仓库没有任何内容。

把所有的内容推送到GITHUB仓库中

git push -u origin master

GIT学习(三)_远程仓库(GITHUB)
以上代码操作是将文件进行推送,由于是第一次推送,而且推送的为master分支,使用-u的参数将远程的master和本地的master进行关联。
GIT学习(三)_远程仓库(GITHUB)
本次操作使用的是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进行删除操作。

修改hello.java和demo.java

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

GIT学习(三)_远程仓库(GITHUB)

克隆仓库

实际在项目开发中,上面的执行过程是错误的操作过程,不能先在本地创建仓库然后提交到远程仓库,正确的做法应该是先有远程仓库,然后在本地克隆此远程仓库。

在GITHUB上初始化一个新的仓库

在这里我自己创建的仓库为hello_world,创建仓库选中“Initialize this repository with a README”表示自动为用户进行仓库的初始化,并且会自动存在一个“README”的文件。
GIT学习(三)_远程仓库(GITHUB)

在本地磁盘上进行仓库的克隆

git clone https://github.com/shmilychan/hello_world.git

克隆操作自己选择磁盘目录,建议不要选择C盘即可,克隆到本地然后在进行相应的项目开发,修改提交。。。

D:\myproject>cd \

D:\>git clone https://github.com/shmilychan/hello_world.git
Cloning into 'hello_world'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
Checking connectivity... done.

一些常用的开源项目,开源框架都会在github上进行托管,要使用了可以直接进行克隆,比如mabatis

https://github.com/mybatis