手把手带你玩转 Git

https://gitchat.csdn.net/activity/5be6c7f30ca0e77081d9ef12?utm_source=so

手把手带你玩转 Git

手把手带你玩转 Git桌前明月· java 高级开发工程师Chat 作者

现任某在线教育公司 Java 高级工程师,擅长 Java 后台相关开发。微信公众号:桌前明月 个人博客:https://blog.csdn.net/ljk126wy

现任某在线教育公司 Java 高级工程师,擅长 Java 后台相关开发。微信公众号:桌前明月 个人博客:https://blog.csdn.net/ljk126wy

...更多

文章

文章正文

前言

很高兴在 GitChat 上跟大家进行技术交流,目前国内开发人员普遍都开始使用 Git 进行项目的版本管理,如果说你还在使用 SVN 并且对 Git 一无所知的话,我的这个 Chat 将会帮助到你,带你进入 Git 的世界。

本篇 Chat 是零基础入门 Git 的学习教程。文中通过大量的图片操作来演示如何使用 Git。 本次分享内容如下:

  1. Git 介绍,Git 作用,Git 工作流程
  2. Windows 环境和 Linux 环境下安装 Git
  3. GitHub 常用操作
  4. 码云常用操作
  5. Git 常用命令操作
  6. Git 分支命令操作
  7. 通过命令方式解决代码冲突
  8. Git 命令配置用户信息
  9. git merge 和 git rebase 的区别,以及注意事项
  10. Eclipse 使用 Git 常用操作以及注意事项
  11. IntelliJ IDEA 使用 Git 常用操作以及注意事项

1. Git 简介

1.1 Git 的由来

在介绍 Git 之前我们来先说一下 Git 是怎么来的。

Git 的创始人同时也是 Linux 的创始人 Linus。Linus 早期在维护 Liunx 代码一直是人肉合并代码。后期开始采用了分布式版本控制系统 BitKeeper 来进行维护。然而 BitKeeper 由于考虑商业的原因,不再免费提供给 Linux 使用,后来 Linus 就自己开发一个。于是乎就有了后来的 Git

1.2 Git 的作用

Git 的作用分为 3 块:

  • 管理项目的版本
  • 多人协同开发一个项目
  • 分布式保存项目

Git 不像 SVN 一样,它可以没有*仓库服务器,每个开发人员都有一个完整的仓库,在开发完毕后在进行互相 Push。当然对于多个人的团队开发 Git 也是有远程仓库方便开发人员快速修改合并代码的。

1.3 Git 的工作流程

Git 的工作区域有 4 个,分别是:

  • 远程仓库
  • 本地仓库
  • 工作区
  • 暂存区

执行操作如下:

  • 首先我们先从远程仓库克隆(clone)到本地仓库,然后在工作区中添加或者修改文件。
  • 提交文件到本地仓库,我们需要先通过 add 命令将文件放入暂存区中,然后在通过 commit 命令将文件放入到本地仓库中。
  • 我们通过 push 命令将文件从本地仓库推送到远程仓库中。
  • 更新别人提交的代码需要我们通过 pull 命令将代码更新到工作区。

手把手带你玩转 Git

2 Windows 和 Linux 环境下安装 Git

2.1 Windows下安装 Git

访问 Git 官网下载 Windows 安装包:

手把手带你玩转 Git

建议下载安装版,进行傻瓜式地“下一步”即可。安装成功后点击桌面鼠标右击显示 2 个 Git 菜单表示安装成功。如下图:

手把手带你玩转 Git

2.2 Linux 下安装 Git

我们这里演示的 Linux 版本:CentOS release 6.4 (Final),通过 root 用户执行 yum install -y git

手把手带你玩转 Git

安装成功后输入 git --version 显示 Git 版本信息表示安装成功。

手把手带你玩转 Git

3 GitHub 常用操作

3.1 了解常用单词基本概念

由于 GitHub 是一个英文网站,在了解使用 GitHub 前我们先来介绍一些基础概念:

  • Repository(仓库):存放我们项目代码的地方,每个项目对应一个仓库。
  • Start(收藏):这个是判定 GitHub 项目排行的重要条件。收藏你喜欢的项目,我们可以快速查看我们收藏的项目。

通过下图操作:

手把手带你玩转 Git

  • Fork:复制项目。例如我们想要查看 Thymeleaf 官方示例项目, 可以访问示例项目 GitHub 然后点击 Fork。

手把手带你玩转 Git

这样就会将示例项目复制我们的 GitHub上,并且该项目是独立存在的。

手把手带你玩转 Git

如果修改了其中 Fork 的 Thymeleaf 示例项目代码。我们也可以向 Thymeleaf 提交修改后的代码。如果 Thymeleaf 同意我们的提交,我们就完成了对官方示例项目的贡献。

  • Pull Request:发起上传代码请求,我们可以将 GitHub 代码通过 Pull Request 上传到 Fork GitHub 的仓库中。
  • Watch:关注,当关注的项目发生版本变化时会接收到通知。
  • Issue:发起项目程序的问题讨论,一般用于没有代码只是进行讨论 bug 来使用。

3.2 注册 GitHub 帐号

访问官网,点击 Sign in 进行注册。

手把手带你玩转 Git

输入用户名称、邮箱(必须是有效的邮箱)、密码。

手把手带你玩转 Git

填完用户信息之后点击 Create an account

手把手带你玩转 Git

接下来选择公开的免费版本(收费版本是可以创建私有仓库的)然后再点击 Continue

手把手带你玩转 Git

点击跳过这一步 skip this step,就注册成功啦。

手把手带你玩转 Git

注册完成后必须验证邮箱我们才可以创建 Git 仓库,点击 start a project 创建一个项目,其实也是创建一个仓库。

一个项目对应一个仓库。

手把手带你玩转 Git

如下图所示就是没有校验邮箱的原因。

手把手带你玩转 Git

登录邮箱,我们会看到 GitHub 给我们发送的邮件。

手把手带你玩转 Git

打开邮件内容然后点击 Verify email address

手把手带你玩转 Git

它会帮我们再次跳转到 GitHub的创建项目选项页面中,再次点击 start a project

手把手带你玩转 Git

出现如下图所示表示邮箱校验成功,现在就可以开始创建我们的项目仓库了。

手把手带你玩转 Git

需要注意的是:如过您使用的是 QQ 邮箱,需要设置一下白名单才可以收到邮件。

手把手带你玩转 Git手把手带你玩转 Git

输入仓库的名称,仓库的描述,然后勾选 Initialize this repository with a README (创建说明文件)。

手把手带你玩转 Git

如下图所示表示项目仓库创建成功!

手把手带你玩转 Git

3.3 项目仓库的基本操作

3.3.1 创建仓库

除了通过 Start a project 来创建仓库,我们还可以通过下图的方式创建仓库。

手把手带你玩转 Git

3.3.2 新建文件

进入仓库主页,点击 Create new file。

手把手带你玩转 Git

输入新建文件的名称加后缀名,再输入文件的内容。

手把手带你玩转 Git

输入提交注释标题和描述,然后点击 Commit new file。

手把手带你玩转 Git

如下图所示创建文件操作演示完毕!

手把手带你玩转 Git

3.3.3 编辑文件

点击 Demo.java。

手把手带你玩转 Git

然后点击下图所示的编辑图标。

手把手带你玩转 Git

修改文件的内容。

手把手带你玩转 Git

点击 Commit changes 提交修改后的文件到仓库中。

手把手带你玩转 Git

3.3.4 删除文件

选择 Demo.java,然后点击如下图所示的删除图标

手把手带你玩转 Git

提交注释是非必填信息可以直接点击 Commit changes 进行提交。

手把手带你玩转 Git

3.3.5 上传文件

点击 Upload files。

手把手带你玩转 Git

点击 choose your files 然后选中要上传的文件 DemoUpload.java。

手把手带你玩转 Git

然后点击 Commit changes 进行提交。

手把手带你玩转 Git

如下图所示上传文件操作演示完毕!

手把手带你玩转 Git

3.3.6 下载和克隆项目

下载项目以 ZIP 压缩包的方式。

手把手带你玩转 Git

手把手带你玩转 Git

通过 GitHub 官方客户端 clone 到本地(需要先安装官方的客户端 GitHub Desktop)。

手把手带你玩转 Git

如果没有下载,会提示你进行下载。

手把手带你玩转 Git

下载完成后进行傻瓜式的安装,安装成功后点击客户端选择 Sign into GitHub.com 进行登录。

手把手带你玩转 Git

然后再次点击 Open in Desktop 弹出如下图所示,点击打开 GitHubDesktop.exe,在 Local path 下的输入框中选择克隆到本地的路径。

手把手带你玩转 Git

手把手带你玩转 Git

如下图所示表示克隆成功。

手把手带你玩转 Git

3.4 删除仓库

进入项目仓库主页然后点击 Settings。

手把手带你玩转 Git

点击 Delete this repository。

手把手带你玩转 Git

然后输入仓库名称点击 I understand the consequences,delete this repository 进行删除。

手把手带你玩转 Git

3.5 创建 Issue

这里的 Issue 演示是在 GitHub 帐号 ljk163wyzhuoqianmingyue 进行。

通过操作 javaapi 项目来演示(该项目是 ljk163wy 帐号创建的) 里面有一个 Demo.java 文件内容如下:

手把手带你玩转 Git

我们这故意将 main 方法改成了 mian 。

我们在 zhuoqianmingyue 帐号下访问 javaapi 项目,也就是下图中红框的地址。

手把手带你玩转 Git

访问后点击 Issues,然后再点击 New issue

手把手带你玩转 Git

输入 Issue 的标题 和描述,然后点击 Submit new issue

手把手带你玩转 Git

手把手带你玩转 Git

如果我们觉得 Issue 有问题想取消,可以点击 Close issue 进行关闭,这里不进行关闭的操作。

手把手带你玩转 Git

我们在切回到 ljk163wy 帐号下就看见 Issues 的数量变成了 1。

手把手带你玩转 Git

点击 Issue 的问题。

手把手带你玩转 Git

对提问题的人进行回复。

手把手带你玩转 Git

也可以点击 Close issue 就看不见这个问题了。

手把手带你玩转 Git

我们可以再次查询关闭的 Issue。

手把手带你玩转 Git

如果想打开可以点击Issue 进入后再次点击Reopen 进行打开操作。

手把手带你玩转 Git

3.6 进行 Fork 操作

这里的 Fork 演示是在 GitHub 帐号 ljk163wyzhuoqianmingyue 进行。其中 ljk163wy 帐号下 javaapi 项目中,Demo.java 文件中 main 方法写错了,我们通过 zhuoqianmingyueljk163wyjavaapi 项目 Fork 下来,进行修改后再执行 commit 到本地。然后再 Pull 给 ljk163wy,再将 Pull 代码通过 ljk163wy 将其合并。

切换到 GitHub 帐号 zhuoqianmingyue,然后访问 ljk163wy 帐号的 javaapi项目。点击 Fork

手把手带你玩转 Git

手把手带你玩转 Git

在 GitHub 帐号 zhuoqianmingyue 将 Demo.java 文件进行修改,然后将文件进行 commit。

手把手带你玩转 Git

点击 Pull requests,然后再点击 New pull request。

手把手带你玩转 Git

点击 Create pull request 进行代码的推送。

手把手带你玩转 Git

输入推送代码描述信息,然后点击 Create pull request。

手把手带你玩转 Git

手把手带你玩转 Git

切换到 ljk163wy 帐号下,我们看到 zhuoqianmingyue Pull 过来的信息。

手把手带你玩转 Git

点击 Pull requests,然后点击推送信息。

手把手带你玩转 Git 作者正在撰写中...