Git&GitHub

一、简介

    1、历史

Git&GitHub_第1张图片

    2、Git优势

        · 大部分操作在本地完成,不需要联网

        · 完整性保证

        · 尽可能添加数据而不是删除或修改数据

        · 分支操作非常快捷流畅(快照的形式进行管理)

        · 与 Linux 命令全面兼容

    3、Git安装

    Git&GitHub_第2张图片

 

    Git&GitHub_第3张图片

 

    Git&GitHub_第4张图片

    Git&GitHub_第5张图片

    Git&GitHub_第6张图片

    Git&GitHub_第7张图片

    Git&GitHub_第8张图片

 

    4、Git结构

    Git&GitHub_第9张图片

    5、Git和代码托管中心

        · 局域网络下

            GitLab服务器

        · 外网环境下

            GitHub

            码云

二、本地库操作

    1、初始化(不可删除,不可修改)

        git init 

    Git&GitHub_第10张图片

    2、设置签名

        形式

            用户名:Tom

            email地址:[email protected]

        作用:区分不同开发人员的身份

        辨析:这里设置的签名和登录远程库的账号密码没有任何的关系

        命令:

            项目级别/仓库级别:尽在当前的本地库有效

            git config user.name sun

            git config user.email [email protected]

            Git&GitHub_第11张图片

            系统用户级别:登录当前操作系统的用户范围

            git config --global user.name sun_system

            git config --global user.email [email protected]

            cdGit&GitHub_第12张图片

            优先级:就近原则,二者都有是采用项目级别的签名(不允许二者都没有)

    3、添加文件到暂存区

        git add [file name]

        

          查看当前状态

        Git&GitHub_第13张图片      

        将文件从暂存区移除(并不是删除文件)

        Git&GitHub_第14张图片

    4、提交

        git commit

        Git&GitHub_第15张图片

        上图要求我们输入提交的信息,相当于代码的注释(直接输入,下图中的红色为提交注释)

        Git&GitHub_第16张图片

        提交后再看状态

        

        修改文件后,再看状态

        Git&GitHub_第17张图片

        git checkout [file name] 撤销修改

        执行git add后,再看状态

        Git&GitHub_第18张图片

        再提交

         git commit -m "commit message" good.txt

        Git&GitHub_第19张图片

    5、显示日志

        git log

        Git&GitHub_第20张图片

        git log --pretty=oneline

        

        git log --oneline

        

        git reflog

        

        HEAD@{number} , number表示移动到当前版本需要多少步

三、对接GitHub

1、注册GiHub账号,创建远程仓库的项目:atguigu ,远程仓库的Https地址:https://github.com/sun-iot/atguigu.git

2、创建本地仓库 atguigu

3、本地创建 远程仓库别名

    git remote -v 查看当前别名 

    git remote add atguigu_url https://github.com/sun-iot/atguigu.git   

    为远程仓库地址去一个名字为:atguigu_url

4、本地仓库创建文件

    git add README.md 添加到暂存区

    git commit -m "test" README.md 提交

5、push 为推送 , 指定地址 ,master为我们推送的分支

    git push atguigu_url master 

6、克隆

    git clone [远程地址]

    效果:

        · 完整的吧远程仓库下载到本地

        · 创建 atguigu_url 远程地址别名

        · 初始化本地仓库

7、加入团队

    Git&GitHub_第21张图片

    Git&GitHub_第22张图片

    复制这个链接给被邀请者。

    被邀请者点开链接后,接受之后,就可以成为团队成员。

    Git&GitHub_第23张图片

    此时,另一个成员就可以执行:

    git push atguigu_url master 操作

8、管理员的拉取操作

    git fetch atguigu_url master

    

    git merge atguigu_url/master 

    将远程库与本地库进行同步

    

    git pull atguigu_url master(是fetch 与 merge 的结合)

    

9、

10、配置SSH免密登录

    现在家目录下,删除原来的.ssh/(配置过才会有的)

    

    生成新的.ssh/文件

    ssh-keygen -t rsa -C [email protected]

    Git&GitHub_第24张图片

    复制红色框框里面的内容

    Git&GitHub_第25张图片

    在GitHub设置中,选择 SSH and GPG keys -> key ,将刚刚的复制内容复制下,title随便写一个就好,我用的是自己的邮箱,这方就看得出来是哪个用户了。

    Git&GitHub_第26张图片

 

    添加好之后的效果是这个,一开始这个要是是灰色的,上传文件后,就变成绿色了。

    Git&GitHub_第27张图片

 

    现在就算配置好了我们的免密登陆了

11、测试免密登录

    回到我们的文件夹,修改内容如下: "测试ssh免密登录的添加内容"

    现将我们的文件提交熬到暂存区,再提交一下,但是不急着push

    Git&GitHub_第28张图片

    现在再来配置一下我们的别名,一开始票配置的是http别名,现在配置git别名

    git romate add origin_ssh  [email protected]:sun-iot/atguigu.git 

    Git&GitHub_第29张图片

    现在我们再来推送我们的文件到仓库

    git push origin_ssh master

    Git&GitHub_第30张图片

    到此便算好了,看下效果

    Git&GitHub_第31张图片

四、eclipse的Git操作

4.1 push到远程库

Git&GitHub_第32张图片

Git&GitHub_第33张图片

Git&GitHub_第34张图片

Git&GitHub_第35张图片

Git&GitHub_第36张图片

 

初始化后的图标是这样的

Git&GitHub_第37张图片

这里可以直接进行commit操作,看下效果

Git&GitHub_第38张图片

说明:eclipse为了管理我们的工程会创建许多维护文件,和开发代码没有直接关系,最好不要在Git中进行追踪,也就是把他们忽略。也就是这些。因为一个团队中难以保证大家都是用相同的开发工具会导致相关的管理文件不同。

忽略的配置文件

# Compiled class file

*.class


# Log file

*.log


# BlueJ files

*.ctxt


# Mobile Tools for Java (J2ME)

.mtj.tmp/


# Package Files #

*.jar

*.war

*.nar

*.ear

*.zip

*.tar.gz

*.rar


# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml

hs_err_pid*


.setting

.classpath

.project

target

和 .gitconfig 文件放在同一个目录下

并在上述文件中加入:

[core]

    excludesfile = C:/Users/SunY/Java.gitignore

Git&GitHub_第39张图片

先添加到暂存区

Git&GitHub_第40张图片

添加到暂存区后。控制台的Git Staging是这样的,我们在右边输入message,点下commit就好了

Git&GitHub_第41张图片

可以看到这个,我们现在在进行提交到本地库。提交后,就空了。

添加远程库操作,我们可以复制下远程库的http地址,https://github.com/sun-iot/SpringBoot_Auto.git

Git&GitHub_第42张图片

下图的仓库需要和我们提交的保持一致,我的这个图是错的

Git&GitHub_第43张图片

上图修正后,回来到这个页面

Git&GitHub_第44张图片

继续next,等待一会,如果我们的url是错误的,在这里会报错的。

Git&GitHub_第45张图片

最后看下我们的GitHub仓库上面是否更新。

Git&GitHub_第46张图片

4.2 pull到本地库

 

五、IDEA的Git操作

1、先配置本地的Git路径

Git&GitHub_第47张图片

2、设置GitHub远程仓库的登录名和密码

Git&GitHub_第48张图片

3、开始创建一个本地库,他会自动做初始化操作,也可以先进入到当前项目文件夹下进行 git init ,以及 git add 操作,设置也可以进行git commit 操作,然后在Idea中进行Push一下。

Git&GitHub_第49张图片

4、添加到暂存区

Git&GitHub_第50张图片

5、提交到本地库

6、推送到远程仓库

Git&GitHub_第51张图片

7、填写远程仓库的URL地址

Git&GitHub_第52张图片

8、如果大家网络差的话,就要等待一段时间了,我也等了许久。毕竟GitHub是在国外的,我们的数据要穿越整个太平洋,绕着地球半圈,嗯,真香。,然后在push

Git&GitHub_第53张图片

9、右下角出现这个就说明推送成功了。

Git&GitHub_第54张图片

10、进远程仓库进行查看

Git&GitHub_第55张图片

 

11、如果出现提示 提示没有本地分支, 运行以下命名:

git branch --set-upstream master origin_idea/master

12、从远程仓库拉取数据

13、框框内的操作,都看得懂的。

Git&GitHub_第56张图片

 

你可能感兴趣的:(Git&GitHub)