Git操作教程-(全)

最最最最最简单的方式让你学会使用Git
新手们推荐一个学习git的好地方:Learn Git Branch

一、Git概述

Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种 项目。 Git 易于学习,占地面积小,性能极快。
它具有廉价的本地库,方便的暂存区域和多个工作 流分支等特性。其性能优于 Subversion、CVS、Perforce 和
ClearCase 等版本控制工具。

①git工作机制

Git操作教程-(全)_第1张图片

二、Git安装(略)

基本傻瓜式安装,网上百度一堆,尽量节省空间,快速上手!

三、Git常见指令

右键任意位置,在右键菜单里选择 Git Bash Here 即可打开 Git Bash 命令行终端。
Git操作教程-(全)_第2张图片
在 Git Bash 终端里输入 git --version 查看 git 版本,出现版本就说明 Git 安装成功。

常见的git命令

打开代码所在文件夹测试

Git操作教程-(全)_第3张图片

3.1设置用户签名

git config --global user.name 用户名
git config --global user.email 邮箱

说明:

签名的作用是区分不同操作者身份。用户的签名信息在每一个版本的提交信息中能够看 到,以此确认本次提交是谁做的。Git
首次安装必须设置一下用户签名,否则无法提交代码。

※注意:这里设置用户签名和将来登录 GitHub(或其他代码托管中心)的账号没有任 何关系。

3.2查看是否设置用户签名成功

设置完可以通过指令

git config --global -l

查看是否设置成功

3.3初始化本地库

git init

设置完会出现一个.git文件

3.4 查看本地库状态

git status

会看到哪些没有提交到暂存区如图:
Git操作教程-(全)_第4张图片

3.5添加暂存区

git add 文件名

3.6提交本地库

git commit -m “日志信息” 文件名

3.7提交本地库

git commit -m “日志信息” 文件名

如:

git commit -m “my first commit” hello.txt

3.8查看历史版本

git reflog 查看版本信息
git log 查看版本详细信息

3.9版本穿梭

git reset --hard 版本号

原理

Git 切换版本,底层其实是移动的 HEAD 指针,具体原理如下图所示。
Git操作教程-(全)_第5张图片

四、Git 分支操作

Git操作教程-(全)_第6张图片

4.1什么是分支

在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。对于初学者而言,分支可以简单理解为副本,一个分支就是一个单独的副本。(分支底层其实也是指针的引用)

4.2分支的好处

同时并行推进多个功能开发,提高开发效率。
各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败
的分支删除重新开始即可。

4.3分支的操作

Git操作教程-(全)_第7张图片

4.3.1 查看分支

git branch -v

4.3.2 创建分支

git branch 分支名

4.3.3 修改分支

在当前分支上修改,提交,其他分支不受影响

4.3.4 切换分支

git checkout 分支名

4.3.5 合并分支

git merge 分支名

案例实操

在 master 分支上合并 hot-fix 分支
$ git merge hot-fix

4.3.6 产生冲突

冲突产生的表现:后面状态为 MERGING
冲突产生的原因:

合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git 无法替
我们决定使用哪一个。必须人为决定新代码内容。

4.3.7 解决冲突

①编辑有冲突的文件,删除特殊符号,决定要使用的内容
②添加到暂存区
③执行提交(注意:此时使用 git commit 命令时不能带文件名)
④发现后面 MERGING 消失,变为正常

4.3.8创建分支和切换分支图解

Git操作教程-(全)_第8张图片

master、hot-fix 其实都是指向具体版本记录的指针。当前所在的分支,其实是由 HEAD 决定的。所以创建分支的本质就是多创建一个指针。
HEAD 如果指向 master,那么我们现在就在 master 分支上。 HEAD 如果执行 hotfix,那么我们现在就在 hotfix 分支上。

五、 Git 团队协作机制

5.1 团队内协作

Git操作教程-(全)_第9张图片

5.2跨团队协作

Git操作教程-(全)_第10张图片

六、GitHub 操作

GitHub 网址:https://github.com/

Ps:全球最大同性交友网站,技术宅男的天堂,新世界的大门,你还在等什么?

6.1创建远程仓库

Git操作教程-(全)_第11张图片

6.2 远程仓库操作

Git操作教程-(全)_第12张图片

6.2.1 创建远程仓库别名

git remote -v 查看当前所有远程地址别名
git remote add 别名 远程地址

6.2.2 推送本地分支到远程仓库

git push 别名 分支

6.2.3 克隆远程仓库到本地

git clone 远程地址

小结:clone 会做如下操作。
1、拉取代码。
2、初始化本地仓库。
3、创建别名

6.2.4 邀请加入团队

①选择邀请合作者
Git操作教程-(全)_第13张图片
②填入想要合作的人
③复 制 地 址 并 通 过 微 信 钉 钉 等 方 式 发 送 给 该 用 户
④账号中的地址栏复制收到邀请的链接,接受邀请。
⑤成功之后可以在账号上看到远程仓库

6.2.5 拉取远程库内容

git pull 远程库地址别名 远程分支名

6.3跨团队协作

①将远程仓库的地址复制发给邀请跨团队协作的人,如张三
②在张三的 GitHub 账号里的地址栏复制收到的链接,然后点击 Fork
将项目叉到自己的本地仓库
③张三就可以在线编辑叉取过来的文件。
④编辑完毕后,填写描述信息并点击左下角绿色按钮提交。
⑤接下来点击上方的
Pull 请求,并创建一个新的请求。
⑥回到 GitHub 账号可以看到有一个 Pull request 请求。
⑦如果代码没有问题,可以点击 Merge pull reque 合并代码

6.4 SSH 免密登录

七、 IDEA 集成 Git

7.1 定位 Git 程序

Git操作教程-(全)_第14张图片

7.2 初始化本地库

Git操作教程-(全)_第15张图片

7.3 添加到暂存区

右键点击项目选择 Git -> Add 将项目添加到暂存区。

7.4 提交到本地库

Git操作教程-(全)_第16张图片
Git操作教程-(全)_第17张图片

7.5 切换版本

Git操作教程-(全)_第18张图片

7.6创建分支

选择 Git,在 Repository 里面,点击 Branches 按钮。
Git操作教程-(全)_第19张图片

7.7 切换分支

在 IDEA 窗口的右下角,切换到 master 分支。
Git操作教程-(全)_第20张图片

7.8 合并分支

Git操作教程-(全)_第21张图片

7.9 解决冲突

如果 master 分支和 hot-fix 分支都修改了代码,在合并分支的时候就会发生冲突。

点击 Conflicts 框里的 Merge 按钮,进行手动合并代码。
代码冲突解决,自动提交本地库。

八、IDEA 集成 GitHub

8.1 设置 GitHub 账号

Git操作教程-(全)_第22张图片
*如果出现 401 等情况连接不上的,是因为网络原因,可以使用以下方式连接:
Git操作教程-(全)_第23张图片
Git操作教程-(全)_第24张图片
Git操作教程-(全)_第25张图片
Git操作教程-(全)_第26张图片
Git操作教程-(全)_第27张图片
Git操作教程-(全)_第28张图片

8.2 分享工程到 GitHub

Git操作教程-(全)_第29张图片

8.3 push 推送本地库到远程库

右键点击项目,可以将当前分支的内容 push 到 GitHub 的远程仓库中。

Git操作教程-(全)_第30张图片
Git操作教程-(全)_第31张图片

注意:push 是将本地库代码推送到远程库,如果本地库代码跟远程库代码版本不一致,
push 的操作是会被拒绝的。也就是说,要想 push 成功,一定要保证本地库的版本要比远程库的版本高!因此一个成熟的程序员在动手改本地代码之前,一定会先检查下远程库跟本地代码的区别!如果本地的代码版本已经落后,切记要先 pull 拉取一下远程库的代码,将本地代码更新到最新以后,然后再修改,提交,推送!

8.4 pull 拉取远程库到本地库

右键点击项目,可以将远程仓库的内容 pull 到本地仓库。
Git操作教程-(全)_第32张图片

Git操作教程-(全)_第33张图片

注意:pull 是拉取远端仓库代码到本地,如果远程库代码和本地库代码不一致,会自动合并,如果自动合并失败,还会涉及到手动解决冲突的问题

8.5 clone 克隆远程库到本地

Git操作教程-(全)_第34张图片
Git操作教程-(全)_第35张图片

九、国内代码托管中心-码云

9.1 简介

众所周知,GitHub 服务器在国外,使用 GitHub 作为项目托管网站,如果网速不好的话,严重影响使用体验,甚至会出现登录不上的情况。针对这个情况,大家也可以使用国内的项 目托管网站-码云。

码云是开源中国推出的基于 Git 的代码托管服务中心,网址是 https://gitee.com/ ,使用方式跟 GitHub 一样,而且它还是一个中文网站,如果你英文不是很好它是最好的选择。

9.2 码云帐号注册和登录

进入码云官网地址:https://gitee.com/,点击注册 Gitee

9.3 码云创建远程库

点击首页右上角的加号,选择下面的新建仓库

9.4 IDEA 集成码云

9.4.1 IDEA 安装码云插件

Idea 默认不带码云插件,我们第一步要安装 Gitee 插件。
如图所示,在 Idea 插件商店搜索 Gitee,然后点击右侧的 Install 按钮。
Git操作教程-(全)_第36张图片
Idea 链接码云和链接 GitHub 几乎一样,安装成功后,重启 Idea。
Git操作教程-(全)_第37张图片

9.4.2 IDEA 连接码云

Idea 连接码云和连接 GitHub 几乎一样,首先在 Idea 里面创建一个工程,初始化 git工程,然后将代码添加到暂存区,提交到本地库,这些步骤上面已经讲过,此处不再赘述。

9.5 码云复制 GitHub 项目

码云提供了直接复制 GitHub 项目的功能,方便我们做项目的迁移和下载。
具体操作如下:
Git操作教程-(全)_第38张图片
Git操作教程-(全)_第39张图片

十、自建代码托管平台-GitLab

10.1 GitLab 简介

GitLab 是由 GitLabInc.开发,使用 MIT 许可证的基于网络的 Git 仓库管理工具,且具有wiki 和 issue 跟踪功能。使用 Git 作为代码管理工具,并在此基础上搭建起来的 web 服务。
GitLab 由乌克兰程序员DmitriyZaporozhets 和 ValerySizov 开发,它使用 Ruby 语言写成。后来,一些部分用 Go 语言重写。截止2018 年 5 月,该公司约有 290 名团队成员,以及 2000 多名开源贡献者。GitLab 被IBM,Sony,JülichResearchCenter,NASA,Alibaba,Invincea,O’ReillyMedia,Leibniz-Rechenzentrum(LRZ),CERN,SpaceX等组织使用。

10.2 GitLab 官网地址

官网地址:https://about.gitlab.com/
安装说明:https://about.gitlab.com/installation/

10.3 GitLab 安装

只要 GitLab 的远程库连接定义好以后,对 GitLab 远程库进行 pull 和 clone 的操作和
Github 和码云一致,此处不再赘述。

你可能感兴趣的:(Git,git,github,java)