初识Git

1. Git介绍

Git是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目 。

Git易于学习,占地面积小,性能 极快 。 它具有廉价的本地 库 ,方便的暂存区域和多个工作流 分支 等 特性。 其性能优于 Subversion、 CVS、 Perforce和 ClearCase等 版本控制 工具。

1.1 何谓分布式版本控制工具?

像Git这种分布式版本控制工具 ,客户端提取的不是最新版本的文件快照,而是把代码仓库完整地镜像下来 (本地库 。这样任何一处协同工作用的文件发生故障,事后都可以用其他客户端的本地仓库进行恢复。因为 每个客户端的每一次文件提取 操作,实际上都是一次对整个文件仓库的完整备份 。

分布式版本控制系统出现以后,解决了集中式控制系统的缺陷:

  1. 服务器断网的情况下也可以进行开发,因为版本控制是在本地进行的
  2. 每个客户端保存的也都是整个完整的项目,包含历史记录更加安全

1.2 Git 和代码托管中心

代码托管中心是基于网络服务器的远程代码仓库,一般我们简称为远程库:

局域网:

  • GitLab

互联网:

  • Github
  • Gitee码云

2. Git的安装及使用

2.1 Git的安装步骤

git的官网下载地址:https://git-scm.com/

第一步:双击.exe进行安装,点击Next

初识Git_第1张图片

第二步:选择Git安装位置,要求是非中文并且没有空格的目录,然后下一步

初识Git_第2张图片

第三步:Git选项配置,推荐默认设置,然后下一步

初识Git_第3张图片

第四步:设置Git安装目录名,不用修改,直接点击下一步

初识Git_第4张图片

第五步:配置Git的默认编辑器,建议使用默认的 Vim编辑器,然后点击下一步

初识Git_第5张图片

第六步:默认分支名设置,选择让Git决定,分支名默认为 master,下一步

初识Git_第6张图片

第七步:修改Git的环境变量,选第一个,不修改环境变量,只在 Git Bash里使用 Git

初识Git_第7张图片

第八步:选择后台客户端连接协议,选默认值OpenSSL,然后下一步

初识Git_第8张图片

第九步:配置Git文件的行末换行符,Windows使用 CRLF,Linux使用LF,选择第一个自动转换,然后继续下一步

初识Git_第9张图片

第十步:选择Git终端类型,选择默认的 Git Bash终端,然后继续下一步

初识Git_第10张图片

第十一步:选择Git pull合并的模式,选择默认,然后下一步

初识Git_第11张图片

第十二步:选择Git的凭据管理器,选择默认的跨平台的凭据管理器 ,然后下一步

初识Git_第12张图片

第十三步:其他配置,选择默认设置,然后下一步

初识Git_第13张图片

第十四步:实验室功能,技术还不成熟, 有已知的 bug,不要勾选,然后点击右下角的 Install按钮,开始安装 Git

初识Git_第14张图片

第十五步:最后点击点击Finsh按钮,Git安装成功!

初识Git_第15张图片

安装成功以后,在我们的右键菜单里选择Git Bash Here即可打开Git Bash命令行终端:

初识Git_第16张图片

此时,进入Git bash终端输入以下命令即可查看当前的git版本信息:

git --version

初识Git_第17张图片

2.2 Git的常用命令汇总

命令名称 作用
git config --global user.name 用户名 设置用户签名
git config --global user.email 邮箱名 设置用户邮箱
git init 初始化本地仓库
git status 查看本地库状态
git add 文件名 将文件添加到暂存区
git commit -m “日志信息” 文件名 提交到本地库
git reflog 查看历史记录
git reset --hard 版本号 版本穿梭

2.21 设置用户签名

在刚安装完Git以后,需要设置我们的用户签名,否则无法提交代码,这里设置的用户签名和将来我们登录的GitHub(或者其他代码托管中心)的账号没有任何关系,只是作为一个标识。

git config --global user.name xxx
git config --golbal user.email [email protected]

设置完我们的用户签名以后,可以在/我的电脑/C盘/用户/你设置的用户/.gitconfig中进行查看你的用户签名配置信息:
在这里插入图片描述

2.22 初始化本地仓库

创建一个你需要初始化的文件夹,在该文件夹下进入Git Bash终端,运行git init命令即可初始化本地仓库,初始化完毕以后,查看隐藏文件可以看到一个.git的文件夹:

初识Git_第18张图片

2.23 查看本地库状态

首次我们初始化完本地库以后,查看本地库状态,显示信息如下所示:

初识Git_第19张图片

此时我们创建一个123.txt文件以后,再次查看本地库状态,更新为如下信息:

初识Git_第20张图片

2.24 添加至暂存区

git add 文件名
warning警告信息是由于windows和Linux中的换行符格式不同,git为我们进行自动转换...

初识Git_第21张图片

此时,我们的123.txt文件只是存在于暂存区中,如果想要删除的话,则使用它提示的命令:

git rm --cached 文件名

2.25 提交本地库

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

初识Git_第22张图片

此时,我们可以查看日志的版本信息:

git reflog
或者 git log

在这里插入图片描述

2.26 修改文件

我们尝试修改123.txt文件,此时查看状态,此时文件重新变红(Modified!!!

初识Git_第23张图片

我们需要重新进行add-commit命令将其添加暂存区,进而提交本地库,此时存在两个历史版本信息:

初识Git_第24张图片

2.27 版本穿梭

git reset --hard 版本号

2.28 Git分支

初识Git_第25张图片

什么是分支?

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

分支的好处

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

分支的操作
git branch 分支名        创建分支
git branch -v           查看分支
git checkout 分支名      切换分支
git merge 分支名         把指定的分支合并到当前分支上

其中,合并分支时,需要处于合并之后的分支上,进行合并分支操作,例如:我们处于master分支上,进行hot-fix分支的合并操作,就会将hot-fix分支合并到master分支之上。

但是,如果此时两个分支发生冲突问题,即两个分支在同一个文件同一个位置有两套完全不同的修改。此时进行合并时,Git无法决定我们使用哪个分支,必须人为决定新代码内容。

初识Git_第26张图片

如何人为决定?

  • 人为进入文件详情,进行修改
  • 添加至暂存区git add 文件名
  • 提交至本地库,但是此时如果按照之前的方式提交,会报错fatel:cannot do a partial commit during 1 merge,故我们需要采取新的提交方式(不带文件名

注意:

  • 合并分支只会修改合并的目的分支的文件内容
  • 合并中的每一个分支实际都是指向具体版本的指针,当前所在的分支,由一个HEAD指针决定,故创建分支的本质就是创建一个指针

3. GitHub

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

3.1 创建远程仓库

登录GitHub以后,点击右上角的+号,选择New repository

在这里插入图片描述

然后编辑自己的仓库名称,最好和本地仓库的名称保持一致性,最后点击创建即可

初识Git_第27张图片

此时创建成功以后会出现一个链接地址:

初识Git_第28张图片

这里的https的地址为:

https://github.com/CodeSmallPig/Gitdemo.git

此时我们就可以在本地仓库中使用Git Bash终端创建一个远程仓库的别名:

git remote add 别名 远程地址
git remote add git-demo https://github.com/CodeSmallPig/Gitdemo.git

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

初识Git_第29张图片

3.2 推送本地库到远程库

git push https链接/别名 需要推送的本地库分支

此时,会弹出GitHub的登录框,进行登录,即可推送成功!再返回我们的GitHub仓库,就能查看到已经上传的文件。

3.3 拉取远程库到本地库

git pull https链接/别名 需要拉取本地库的分支

拉取成功以后,会自动更新本地库的文件为拉取后的文件状态

3.4 克隆远程仓库到本地

git clone 远程地址

注意:

  • 进行克隆时,不需要进行远程GitHub账号的登录
  • 克隆时,底层会做三件事:1、拉取代码;2、初始化本地库;3、创建别名(默认别名为origin)

3.5 团队内协作

第一步:如果对于一个仓库,与其他成员共享协作,可以在仓库中邀请合作者:

初识Git_第30张图片

第二步:点击Invite a collaborator,填入想要合作的人,然后将后面的Pending Invite复制发送给合作的用户:

第三步:登录合作者的账号,点击接受邀请,成功以后就能在合作者账号端看到被合作者的远程仓库了

第四步:此时我们的合作者就可以进行仓库文件的修改并push到远程仓库,并且这个文件的修改是共享同步的

3.6 跨团队协作

第一步:将远程仓库的地址复制发给邀请团队协作的人

初识Git_第31张图片

第二步:登录团队协作者的账号,地址栏复制收到的链接,然后点击fork将项目叉到自己的本地仓库

叉入成功以后,就可以看到当前仓库的信息

初识Git_第32张图片

第三步:叉入以后就可以对他人的文件进行修改

初识Git_第33张图片

第四步:编辑完毕以后,填写描述信息并点击左下角的绿色提交按钮进行提交

初识Git_第34张图片

第五步:接下来点击上方的Pull requests请求,创建一个新的请求

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

第六步:此时回到求助者团队的Github账号就可以看到一个Pull request请求

在这里插入图片描述

可以进行代码的修改信息的查看,如果没有问题,则点击Merge pull request 进行代码的合并
初识Git_第35张图片
初识Git_第36张图片

3.7 SSH免密登录

GitHub的远程仓库还有一个SSH的地址,可以使用SSH进行访问

初识Git_第37张图片

进入到我的电脑\C盘\用户\你当前使用的用户文件夹,启动Git Bash终端,输入以下命令,再连续敲三次回车,生成对应的.ssh文件夹:

ssh-keygen -t rsa -C [email protected](你要绑定的邮箱账号地址)

初识Git_第38张图片

此时我们进入.ssh目录查看文件列表,并查看查看 id_rsa.pub 文件内容

初识Git_第39张图片

我们复制id_rsa.pub文件中的内容,登录GitHub,点击用户头像,选择Settings,然后选择SSH and GPU keys:

初识Git_第40张图片

初识Git_第41张图片

初识Git_第42张图片

接下来再往远程仓库push东西的时候使用 SSH连接就不需要登录了

4. IDEA集成Git

4.1 Git的忽略文件配置

在实际的项目中,有一些文件不参与服务器的部署运行,我们将其忽略提交。需要在项目的根目录下创建一个git.ignore文件,然后点击该文件,输入需要忽略的文件项:

HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/

### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/

### VS Code ###
.vscode/

同时,需要在.gitconfig文件中引用忽略配置文件(该文件位于Window的当前用户文件夹下)

[
name = feng
email = [email protected]
[
excludesfile = C:/Users/86180/git.ignore
注意:这里要使用“正斜线( (//)”,不要使用“反斜线

4.2 IDEA中定位Git程序

在IDEA中,打开Settings中的Version Control

初识Git_第43张图片

然后点击Git,选择自己的Git.exe安装目录:

初识Git_第44张图片

4.3 IDEA初始化本地库

VCS --> Import into Version Control --> Create Git Repository

初识Git_第45张图片

初始化以后,会在你的项目根目录下生成对应的.git文件夹,此时会发现项目中存在一些文件为红色

初识Git_第46张图片

将文件添加至暂存区的方式:

方式1:右击红色文件,选择Git --> Add即可

初识Git_第47张图片

此时,文件颜色变成绿色,表示文件以后添加至暂存区,但是还未提交至本地库

方式2:如果项目文件较多,可以右击项目根目录,进行上述的添加操作

4.4 提交本地库

添加至暂存区以后,如果需要进行代码的提交本地库操作,则按照下面指示进行:
初识Git_第48张图片

编写完提交日志信息,点击Commit按钮提交即可,提交完成以后文件将由绿色变成最初的黑色:

初识Git_第49张图片

4.5 版本的切换

查看Git提交的版本信息,可以点击下方的Version COntrol中的Log信息:

初识Git_第50张图片

如果想要切换版本,直接选择想要切换的版本,右击,选择Checkout Revision 'xxxx'即可:

初识Git_第51张图片

此时,黄色的箭头(Head指针)就会指向你所切换的版本位置。

4.6 分支的创建和合并

分支的创建:

初识Git_第52张图片

在弹出的Git Branches框里,点击New Branch按钮

初识Git_第53张图片

填写分支的名称:pro-fix

初识Git_第54张图片

等待分支创建成功以后,右下角会出现此时分支已经切换为prp-fix:

初识Git_第55张图片

如果此时想要切换回maser分支,则直接点击master分支,选择checkout即可:

初识Git_第56张图片

合并分支:

处于master分支下,点击pro-fix分支中的Merge into Current按钮,将其合并到当前分支(即master分支)

注意

  • 如果代码没有冲突,分支直接合并成功,分支合并成功以后,代码自动提交,无需手动提交本地库

  • 如果两个分支的代码存在冲突,需要我们手动进行合并,最后点击Apply应用即可

5. IDEA集成GitHub

5.1 设置GitHub账号

点击Settings,选择Version Control,再选取GitHub,登录GitHub账号:

初识Git_第57张图片

右上角有一个+号,点击进行账号密码登录,但是经常性地报错404,无法正常登录:

初识Git_第58张图片

此时我们采取另一种登录方式Use Token,进行账号的登录,那token如何获取??

我们进入GitHub账号,点击右上角的头像,选择Settings,里面点击Developer settings,然后选择Personal access tokens

初识Git_第59张图片

初识Git_第60张图片

生成以后,一定要将其复制下来,刷新以后就没有了!!!

此时,我们将生成的token令牌用于IDEA绑定GitHub,就不会出现一直失败的情况

初识Git_第61张图片

5.2 分享项目至GitHub

使用IDEA将项目代码分享到GitHub上也比较简单,直接点击VCS,然后选择Import Version Control,再选择Share Project on GitHub

初识Git_第62张图片

然后编写Reposity name,再选择share

初识Git_第63张图片

等待一段时间,就会报上传成功提示,此时登录GitHub账号,即可查看到上传的代码信息:

初识Git_第64张图片

5.3 推送代码至远程库

如果IDEA本地代码发生了一些改变,此时需要推送至GitHub远程本地库,此时可以直接右击项目,选择Git,再选择Repository,最后点击Push进行推送操作

初识Git_第65张图片

这里建议使用SSH远程连接方式进行Push操作,即复制GitHub该仓库的SSH连接地址,在IDEA中Define Remote的URL路径中粘贴复制的SSH地址:
初识Git_第66张图片

此时进行push操作,速度比较快…

注意:

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

5.4 拉取远程库到本地

点击VCS,然后选择Git中的Pull进行远程代码的拉取操作:

初识Git_第67张图片

注意:

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

5.5 克隆代码到本地

New–>Project from Version Control --> Git

初识Git_第68张图片

此时复制GitHub中的https仓库连接地址或者SSH地址,即可克隆该项目:

初识Git_第69张图片

6. 国内代码托管中心-码云

码云是开源中国推出的基于 Git的代码托管服务中心, 网址是 https://gitee.com/

6.1 新建仓库

初识Git_第70张图片

6.2 IDEA继承Gitee

默认情况下,Idea不带码云插件,需要我们自己安装Gitee插件,安装完毕以后在Settings --> Version Control 中就能够看到我们的Gitee
初识Git_第71张图片

选择add Account输入注册的码云账号(邮箱)和密码即可绑定码云

6.3 IDEA上传项目至Gitee

如果想要将项目代码上传到码云的远程仓库中去,一种方法是直接上传:VCS --> import --> Share Project on Gitee

初识Git_第72张图片

或者使用Push的方式进行推送,先在码云上创建对应的远程仓库,并复制对应的https地址

初识Git_第73张图片

接着在IDEA中使用Push操作进行上传操作:

初识Git_第74张图片

选择Define Remote:

初识Git_第75张图片

将远程的访问链接进行粘贴,接着进行Push操作即可

6.4Gitee克隆GitHub仓库

新建仓库,进入其中,直接选择从其他位置导入

初识Git_第76张图片
然后在仓库地址处填写GitHub中对应仓库的连接地址即可

你可能感兴趣的:(环境配置,git,github,服务器)