当前位置:   article > 正文

Git (版本控制,git安装和配置,git代码托管服务,git操作本地远程仓库,分支,idea整合git)【看这一片就够】_git下载配置

git下载配置

目录

一、版本控制介绍

1. 版本控制介绍

2. 版本控制工具

3. git简介

二、git安装与配置

1. 下载git

2. 安装git

2. 配置git

三、git代码托管服务

1. 常见的git代码托管服务

2. 注册码云帐号【这里介绍一种的用法,其它也是一样的操作】

3. 创建远程仓库

四、git命令-操作本地仓库

1. 获取仓库

1 方式1克隆项目仓库

2 方式2本地创建仓库

2. 本地仓库操作

1 工作区,暂存区和版本库

2 常用命令

3 操作示例

3. 小结

五、git命令-操作远程仓库

1. 常用命令

2. 操作示例

1 查看远程仓库:git remote

2 添加远程仓库:git remote add

3 克隆远程仓库:git clone

4 推送到远程仓库:git push

5 从远程仓库拉取:git pull

3. 小结

六、git命令-操作分支与标签

1. 分支操作

1 分支介绍

2 常用命令

3 操作示例

1 查看分支:git branch

2 创建分支:git branch 分支名称

3 切换分支:git checkout 分支名称

4 推送分支到远程仓库:git push

5 合并分支:git merge

2. 标签操作

1 标签介绍

2 常用命令

3 操作示例

2 创建标签:git tag 标签名

3 推送标签到远程仓库:git push 远程仓库名 标签名

4 检出标签:git checkout -b 分支名 标签名

3. 小结

七、idea整合git

1. 在idea中配置git

2. 获取git仓库

3. 本地仓库操作

1 添加到暂存区

2 提交到本地仓库

3 查看日志

4. 远程仓库操作

1 查看远程仓库

2 推送到远程仓库

3 从远程仓库拉取

5. 分支操作

1 查看分支

2 创建分支

3 切换分支

4 推送分支到远程仓库

5 合并分支


一、版本控制介绍

1. 版本控制介绍

版本控制(Revision control)是一种软件工程技巧。籍以在开发的过程中,确保由不同人所编辑的同一档案(项目代码)都得到更新。

利用版本控制,可以:

  1. 保存并可以回溯代码的历史版本

  2. 可以切换不同版本的代码

  3. 多人协同开发一个项目

  4. 备份源代码

  5. 协同开发时定位修改代码的责任人

2. 版本控制工具

  • CVS:早期版本管理软件

  • ClearCase:IBM企业级大型版本管理工具, 收费。

  • VSS:微软推出的版本管理工具, 较少使用

  • SVN:市面最流行的版本管理工具之一,拥有CVS所有功能,修复了CVS的不足

  • GIT:分布式版本管理工具。已经是大势所趋。Linus Torvalds开发的 (Linux)

3. git简介

Git 是一个分布式版本控制工具,通常用来对软件开发过程中的源代码文件进行管理。通过Git 仓库来存储和管理这些文件,Git 仓库分为两种:

  • 本地仓库:开发人员自己电脑上的 Git 仓库

  • 远程仓库:远程服务器上的 Git 仓库

git基本操作:

  • commit:提交,将本地文件和版本信息保存到本地仓库

  • push:推送,将本地仓库文件和版本信息上传到远程仓库

  • pull:拉取,将远程仓库文件和版本信息下载到本地仓库

二、git安装与配置

1. 下载git

git下载地址:Git - Downloads

2. 安装git

双击git安装包,一路下一步直到最后。注意==安装的路径里,不要有中文、空格、特殊字符==

安装成功后,在桌面上右键会有以下选项:

  • Git GUI Here:在当前文件夹里打开git图形窗口界面

  • Git Bash Here:在当前文件夹里打开git命令行界面

2. 配置git

安装好git之后,要使用git进行版本控制,通常需要配置一下自己的姓名和邮箱信息,用于在每次提交代码时作为自己的身份标识,这是非常重要的。

操作步骤如下:

  1. 在任意文件夹里右键(例如,在桌面上右键),Git Bash Here,打开git命令行界面

  2. 输入命令:

    • git config --global user.name '姓名' 建议都使用英文+数字

    • git config --global user.email '邮箱地址' “邮箱地址”建议用真实邮箱地址

    • git config --global credential.helper store 让git存储gitee的帐号和密码,不需要每次操作远程仓库都输帐号密码

  3. 验证是否配置成功:

    • git config --list

三、git代码托管服务

1. 常见的git代码托管服务

Git中存在两种类型的仓库,即本地仓库远程仓库。我们在git介绍里所谓的“git远程仓库”,其实就是这里所说的“git代码托管服务”

那么如何搭建Git远程仓库服务呢?其实我们可以借助互联网上提供的一些代码托管服务来实现,其中比较常用的有:

远程仓库用什么,看公司的要求

2. 注册码云帐号【这里介绍一种的用法,其它也是一样的操作】

1 注册gitee帐号

打开Gitee - 基于 Git 的代码托管和研发协作平台,点击注册按钮,输入信息进行注册

2 登录gitee帐号

点击登录按钮,进入登录页面。输入刚刚注册的帐号信息,点击登录

3. 创建远程仓库

一个仓库,通常用于存储一个项目的代码。git会把一个项目的所有历史版本记录和代码,全部存储到一个仓库里。所以,我们可以理解为:一个仓库,就是一个项目的代码。一个项目,要创建一个仓库

1 点击“新增仓库”

2 设置仓库基本信息

3 查看仓库地址信息

查看空仓库的地址

如果新创建的仓库,里边没有任何内容,会显示以下界面

查看非空仓库的地址

如果仓库里已经有内容了,要获取仓库的地址,需要点击以下按钮:

4 邀请仓库成员

新创建的仓库,只有自己一个成员(自己是管理员),即只有自己能够向仓库里推送代码。而在实际开发中,一个项目通常是由一个小组的成员共同完成的,这就需要其它人员也能够看到此仓库、能够向仓库里推送代码。

为了实现小组共同完成项目,需要给仓库添加成员:

四、git命令-操作本地仓库

1. 获取仓库

在实际开发中,通常有两种方式获取项目仓库:

  • 作为架构师或Leader,需要:

    1. 创建空的共享仓库(例如gitee)

    2. 在自己的本机上创建项目版本仓库,推送到共享仓库(例如gitee)里,供组员clone得到初始项目仓库

  • 作为项目组普通成员,只要:

    1. 直接从共享仓库(例如gitee)里克隆项目仓库到本机即可

    2. 获取本地仓库里的代码,开始开发工作

当我们得到仓库之后,这个仓库文件夹,就是项目文件夹:

  • 开发人员在仓库文件夹里直接写代码

  • 完成功能后,把代码提交到本地仓库,留下一次提交记录

1 方式1克隆项目仓库

在任意文件夹里打开git bash窗口,执行命令:git clone 仓库地址

如果帐号密码输错了,导致后边所有远程仓库的操作都失败,或者连接不上可以:

  • 清理一下旧的远程仓库的认证信息:git config --system --unset credential.helper

  • 然后重新操作,会让我们重新输入gitee的帐号和密码

2 方式2本地创建仓库

创建一个文件夹,在文件夹里打开git bash容器,执行命令:git init

2. 本地仓库操作

1 工作区,暂存区和版本库

在git的版本库里,有三个区域是必须要了解的:

  • 工作区:项目仓库文件夹里就是工作区,我们直接在这个文件夹里编辑代码。

  • 版本库:工作区内有一个隐藏的.git就是版本库,其中保存了项目的所有变更历史记录。如果把这个.git删除掉,仓库就成为普通文件夹了,git不能再进行版本控制了

  • 暂存区:.git里的index文件就是暂存区,也叫stage。暂存区是临时保存修改文件的地方

三个区域的运作模式:

工作区里的文件状态有三种:

  • untracked:未跟踪。表示文件是新创建的,还没有纳入到git的管控

  • tracked:已跟踪,已纳入git版本控制,随着操作又有不同的状态变化

    • Unmodifed:文件未修改,没有新的变化

    • Modified:文件已被修改

    • Staged:文件已暂存,已添加到暂存区了

2 常用命令

3 操作示例

1 查看仓库状态:git status

在tlias仓库文件夹里,先后执行命令:

  1. 查看仓库状态:git status

  2. 在仓库里创建文件a.txt

  3. 再次查看仓库状态:git status

    Untracked files:未被git管控的文件有a.txt

2 添加文件到暂存区:git add

执行命令:

        1.添加到暂存区:git add a.txt,把a.txt添加到暂存区。

如果有多个文件一起添加,可以使用git add 文件1 文件2 ...

也可以用git add ./*把当前文件夹里所有 有变化的文件全部添加到暂存区

        2.再次查看仓库状态:git status

3 取消暂存或切换版本:git reset

取消暂存

执行命令:

  1. 取消暂存:git reset a.txt,把a.txt恢复成暂存命令执行之前的状态(已修改未暂存)

  2. 查看状态:git status,发现a.txt变成了未暂存的状态

切换版本

如果要恢复成历史记录中的某个版本,可以执行命令:git reset --hard 版本号

2.3.4 提交到版本库:git commit

如果修改了某些文件,想要提交版本,必须先添加到暂存区才能提交:

  1. 把文件添加到暂存区:git add 文件1 文件2 ...

  2. 把暂存区内容提交到版本库:git commit -m '本次提交的描述'

5 查看版本记录:git log

如果想要查看历史提交记录,可以执行命令:git log

3. 小结

获取本地仓库,有两种方式:

  • 直接克隆远程仓库,得到本地仓库:git clone 远程仓库的地址

  • 本地文件夹里 初始化本地仓库:在本地文件夹里打开Git Bash Here,执行命令 git init

本地仓库操作:

  • 如果新增或修改或删除了文件,需要:

    把文件添加到暂存区 git add 文件路径 文件路径 文件路径...

    把暂存区的文件取消暂存 git reset 文件路径 文件路径 ...

    然后把暂存区里所有内容一次性提交到本地仓库,需要:git commit -m '提交的描述信息'

  • 要查看过去的提交日志记录,需要:git log

  • 要查看本地仓库的状态,需要:git status

五、git命令-操作远程仓库

如果仅仅把代码提交到本地仓库是不够的,我们是项目组合作开发,所以你提交的代码还要推送到共享仓库里,组内其它成员可以拉取到你提交的代码。反之,组内其它成员提交的代码,也要推送到共享仓库里,你也可以从共享仓库里拉取得到其它人的代码。

1. 常用命令

2. 操作示例

1 查看远程仓库:git remote

  • 查看远程仓库:git remote

    origin是默认的远程仓库缩写代号。从远程仓库里克隆下来的项目,必定有这个名称

  • 查看远程仓库详细信息:git remote -v

2 添加远程仓库:git remote add

添加远程仓库:git remote add 仓库地址代号 仓库地址

 

注意:实际开发中,从某个远程仓库里克隆下来的项目,通常不需要额外再添加第二个远程仓库

刚刚仅作为语法的效果演示,实际开发基本不会这样操作,所以这里取消关联第二个远程仓库

git remote remove 仓库名

3 克隆远程仓库:git clone

  • 语法:git clone 远程仓库地址

  • 注意:在之前的“获取仓库”一节中,已经演示过了,效果如下图所示:

4 推送到远程仓库:git push

当你的某个功能开发完成后,已经提交到了本地仓库,还需要再做一步:推送到远程仓库,其它人才可以从远程仓库里拉取到你的代码

  • 语法:git push 远程仓库名 分支名

注意:第一次向远程仓库(例如gitee)推送时,会弹出窗口,需要输入远程仓库(例如gitee)的帐号和密码

     

5 从远程仓库拉取:git pull

如果组内其它人向远程仓库里推送了代码,而你想要从远程仓库里拉取得到最新的代码,就要执行拉取命令了

  • 语法:git pull 远程仓库名 分支名

注意:如果本地仓库是自己创建的(而不是克隆下来的),并且有文件,然后从远程仓库里拉取代码时会报错fatal: refusing to merge unrelated histories

解决方法:git pull origin master --allow-unrelated-histries

3. 小结

进入公司以后,需要获取到本地仓库:

  • 克隆:git clone 远程仓库地址, 得到本地仓库。本地仓库里有所有的历史提交记录和所有的源码

然后一个仓库,就是一个项目。可以编写代码,完成功能。当功能完成以后,需要:

  • 添加到暂存区:git add 文件路径

    如果所有有变化的文件都是这一次功能的,可以一次性加:git add .

  • 提交到本地仓库:git commit -m '描述信息'

    添加一次提交记录,xxx在xxx时间修改了xxx文件

  • 推送到远程仓库:git push origin master 语法:git push 远程仓库地址简称 分支名

    如果不推送,组里其它人就不能获取最新的代码

如果要获取其它人推送的最新代码:

  • 从远程仓库拉取:git pull origin master 语法:git pull 远程仓库地址简称 分支名

六、git命令-操作分支与标签

1. 分支操作

1 分支介绍

分支就是科幻电影里面的平行宇宙,当你正在电脑前努力学习Git的时候,另一个你正在另一个平行宇宙里努力学习SVN。

如果两个平行宇宙互不干扰,那对现在的你也没啥影响。不过,在某个时间点,两个平行宇宙合并了,结果,你既学会了Git又学会了SVN!

分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交并推送,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。

现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。

2 常用命令

仓库里默认会有一个分支,名称是master

删除本地分支:git branch -d 分支名

删除远程分支:git push origin -d 分支名

3 操作示例

1 查看分支:git branch
  • 查看本地分支:git branch

  • 查看远程分支:git branch -r

  • 查看所有分支:git branch -a

2 创建分支:git branch 分支名称
  • 创建新分支:git branch 分支名称

3 切换分支:git checkout 分支名称
  • 切换到指定分支:git checkout 分支名称

  • 注意:切换分支前,要把工作区的内容提交或缓存起来。否则切换分支时会导致分支之间干扰混乱

4 推送分支到远程仓库:git push

我们刚刚创建的分支,都是本地分支,远程仓库里还没有这个分支。要推送到远程仓库的话:

  • 推送到远程仓库:git push 远程仓库名 分支名

5 合并分支:git merge

实际开发中,我们往往使用分支来开发自己的功能。当功能开发完成后,需要把功能分支的代码合并到dev分支。

  • 合并分支:git merge 分支名,把指定分支合并到当前分支

2. 标签操作

1 标签介绍

git里的标签,是指把某次提交状态的代码打上一个标记。通过这个标签,可以很方便的切换到标记时的代码。开发中,我们通常会把代码里某个特别稳定的版本打上标签,例如:

2 常用命令

3 操作示例

1 查看标签:git tag

  • 查看已有标签:git tag

2 创建标签:git tag 标签名
  • 创建标签:git tag 标签名,在当前提交的基础上创建标签

3 推送标签到远程仓库:git push 远程仓库名 标签名

我们创建的标签仅仅是在本地仓库里,如果想将标签推送到远程仓库,可以使用推送命令

  • 推送标签:git push 远程仓库名 标签名

4 检出标签:git checkout -b 分支名 标签名

如果想要切换到标签对应的代码,需要执行检出标签的命令

  • 检出标签:git checkout -b 分支名 标签名,将标签对应的代码检出成为一个新的分支

    分支名:不能与已有分支名重复

3. 小结

实际开发中,通常是要开发一个功能,就创建一个新分支;要修改一个bug,就创建一个新分支

相关的操作命令:

  • 创建分支:git branch 分支名

  • 查看分支:git branch 查看本地分支; git branch -r 查看远程分支; git branch -a 查看所有分支

  • 切换分支:git checkout 分支名

    然后在分支里编写代码,添加暂存区,提交到本地仓库

    注意:切换分支时,还未提交的代码,将会带到 目标分支里。

  • 推送分支到远程仓库:git push origin 分支名

  • 合并分支:git merge 分支名 把指定分支合并到当前分支

  • 删除分支:git brand -d 分支名 删除的是本地的分支

    git push origin -d 分支名 删除远程仓库里的指定分支

七、idea整合git

1. 在idea中配置git

2. 获取git仓库

1 方式1克隆远程仓库

克隆远程仓库后,使用idea打开仓库代码(一个仓库就是一个项目)

  • 打开idea时,从VCS版本控制系统里获取仓库

2 方式2初始化本地仓库

  1. 创建忽略文件

在开发中,有些文件是不需要纳入版本控制的。例如:target文件夹,.idea文件夹等。

想要让git忽略某些文件不管理,只要在==本地仓库的根目录==里创建一个文件.gitignore(名称不要写错),在文件里配置要忽略的内容:

  1. target/
  2. .idea/
  3. *.iml

     2. 启用版本控制整合

    3. 选择版本控制工具,使用git

3. 本地仓库操作

1 添加到暂存区

2 提交到本地仓库

1.点击提交按钮

2.输入提交描述信息

3 查看日志

4. 远程仓库操作

1 查看远程仓库

2 推送到远程仓库

点击推送按钮

3 从远程仓库拉取

5. 分支操作

1 查看分支

在idea的右下角,会显示当前分支。点击分支名称,会列出所有的分支,包括本地分支和远程分支

2 创建分支

基于当前提交创建分支:         

给分支起名称:

3 切换分支

切换分支,即检出分支,操作如下:

4 推送分支到远程仓库

5 合并分支

先切换到master分支后,

再执行如下操作的效果是:把“feature-student”分支合并到当前的master分支

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Li_阴宅/article/detail/785129
推荐阅读
相关标签
  

闽ICP备14008679号