Git知识学习

主要内容:熟练掌握Git、GitHub、Gitee码云的使用

1.Git概述

  • Git是个免费的、开源的分布式版本控制系统

1.1版本控制

  • 版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统

  • 版本控制其实最重要的是可以记录文件修改历史记录,从而让用户能够查看历史版本,方便版本切换

1.2版本控制工具

  • 集中式版本控制工具:CVS、SVN、VSS…
    • 程序员修改代码之后要上传到中央服务器,另外一名程序员才能再中央服务器将代码下载下来修改
    • 缺点:当中央服务器宕机单点故障,则在故障期间谁都无法提交更新,也无法协同工作
  • 分布式版本控制工具:Git、Mercurial、Bazaar
    • 可以在自己的电脑上做版本的控制,会有一个远程库,让不同的程序员协同工作,当远程库宕机或者故障,只是不能提交更新,但是还是可以在自己的电脑上做版本控制

1.3Git和代码托管中心

  • 代码托管中心是基于网络服务器的远程仓库,一般简称为远程库
    • 局域网:GitLab
    • 互联网:GitHub(外网)、Gitee码云(国内网站)

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.1设置用户签名

  • 首次使用Git一定要在Git Bash窗口设置用户签名:
git config --global user.name 用户名
git config --global user.email 邮箱

2.2初始化本地库

  1. 语法:

    git init

  2. 示例:

    要想让git可以操作gitdemo这个文件夹,则要在当前文件夹下先进行初始化

在这里插入图片描述

​ 可以使用ll -a查看被隐藏的.git文件,如果有.git文件说明初始化成功

在这里插入图片描述

2.3查看本地库状态

2.3.1首次查看

  1. 语法:

    git status

  2. 示例:

    在这里插入图片描述

    可以看到目前没有提交过东西,也没有东西可以提交。

2.3.2新增文件

在这里插入图片描述

  • 新增一个hello.txt文件
  • 进入到vim模式之后,按"i"进入插入模式,可以编辑代码
  • 编辑完之后按esc退出插入模式
  • 按shift+;后再按wq,回车,保存并退出vim模式
  • 输入ll命令查看是否新增文件

在这里插入图片描述

2.3.3再次查看

  1. 语法:

    git status

  2. 再次查看:

在这里插入图片描述

​ 发现有hello.txt文件显示

2.4添加暂存区

2.4.1将工作区文件添加到暂存区

1.语法:

git add 文件名字

2.操作如下:(有警告不用管)

在这里插入图片描述

2.4.2查看状态(检测到暂存区有新文件)

在这里插入图片描述

  • 文件呈现绿色说明已经上传到暂存区,想删掉则用git rm --cached 文件名
  • 在暂存区删掉在工作区依旧存在

2.5提交本地库

2.5.1将暂存区的文件提交到本地库

1.基本语法:

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

2.示例:

在这里插入图片描述

3.通过查看日志来查看版本:

在这里插入图片描述

2.5.2查看状态(没有文件需要提交了)

在这里插入图片描述

2.6修改文件

1.修改文件:vim hello.txt,再按i修改文件即可。

2.6.1查看状态(检测到文件被修改)

在这里插入图片描述

2.6.2将修改后的文件提交到暂存区

在这里插入图片描述

  • 再次查看状态,就能发现文件名字变回绿色了。

在这里插入图片描述

  • 再次进行提交

在这里插入图片描述

在这里插入图片描述

2.7历史版本

2.7.1查看历史版本

1.基本语法:

git reflog 查看版本信息

git log 查看版本详细信息

2.示例:

在这里插入图片描述

2.7.2版本穿梭

1.基本语法:

git reset --hard 七位的版本号

2.示例:

在这里插入图片描述

3.Git分支操作

在这里插入图片描述

3.1分支的概念

在版本控制过程中,同时推进多个任务,我们就为每个任务创建一个分支,使用分支意味着程序员可以把自己的工作从开发的主线上分离开来,开发自己分支的时候不会影响主线的工作。

3.2分支操作

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

1.查看分支

在这里插入图片描述

2.创建分支

在这里插入图片描述

3.切换分支

在这里插入图片描述

4.合并分支(如果当所合并的分支有对原分支的文件进行修改,合并之后会显示修改后的内容)

在这里插入图片描述

3.3合并分支(冲突合并)

产生冲突的原因:合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改,Git无法代替我们使用哪个,便会产生冲突,此时必须人为的决定新代码内容:

  • 先切换到hot-fix分支中将hello.txt文件进行修改如下:

在这里插入图片描述

  • 再将修改好之后的文通过指令git add hello.txt添加到暂存区,然后使用git commit -m “hot-fix second” hello.txt提交日志
  • 再切换回master分支,对hello.txt中的系统位置的内容进行修改,并且提交到暂存区,使用git commit -m “master second” hello.txt提交日志

在这里插入图片描述

  • 便会出现报错如下,并且文件会将冲突的部分显现出来:

在这里插入图片描述

  • 手动修改完之后再对文件进行上传到暂存区,再提交日志(记得不用带文件名)即可

在这里插入图片描述

4.Git团队协作

4.1团队内协作

在这里插入图片描述

4.2团队外协作

在这里插入图片描述

5.GitHub操作

5.1创建远程仓库

在这里插入图片描述

在这里插入图片描述

创建成功后会跳转到该页面

在这里插入图片描述

5.2远程仓库操作

5.2.1创建远程仓库别名

1.基本语法:

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

git remote add 别名 远程地址

2.示例:
在这里插入图片描述

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

1.基本语法:

git push 别名 分支名

2.示例

在这里插入图片描述

5.2.3拉取远程库到本地库

1.基本语法:

git pull 别名 分支名

2.拉取的文件会自动提交到本地库,不用直接再commit

5.2.4克隆远程库到本地

1.基本语法:

git clone 远程地址

2.在想要拉取文件的文件夹打开Git Bash ,输入对应指令,不用初始化本地库,直接拉取github代码即可,也不用登录

  • clone会自动进行以下操作:
    • 将github代码拉取到当前目录
    • 初始化本地库
    • 自动创建别名(默认别名为origin)

5.2.5团队内协作

要想让他人拉取代码修改之后,可以推送到远程库,则要将那个人添加成仓库的成员:

在这里插入图片描述

5.3跨团队协作

  • 先将所要修改的库拉到克隆到本地,修改好之后,点击pull request,创建新的request,然后提交,库的主人便会收到修改好的文件,他可以自行选择查看或者合并。

在这里插入图片描述

6.IDEA集成Git

6.1配置Git忽略文件

像项目中一切和无关的文件要配置将其忽略,例如:

在这里插入图片描述

配置如下:

  • 创建忽略文件xxx.ignore(建议命名成git.ignore)

    • 文件模板如下:

      *.class
      
      # Mobile Tools for Java (J2ME)
      .mtj.tmp/
      
      # Package Files #
      *.jar
      *.war
      *.ear
      
      # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
      hs_err_pid*
      
      target/
      **/target/
      pom.xml.tag
      pom.xml.releaseBackup
      pom.xml.versionsBackup
      pom.xml.next
      release.properties
      dependency-reduced-pom.xml
      buildNumber.properties
      .mvn/timing.properties
      
      *.iml
      
      ## Directory-based project format:
      .idea/
      # if you remove the above rule, at least ignore the following:
      
      # User-specific stuff:
      # .idea/workspace.xml
      # .idea/tasks.xml
      # .idea/dictionaries
      
      # Sensitive or high-churn files:
      # .idea/dataSources.ids
      # .idea/dataSources.xml
      # .idea/sqlDataSources.xml
      # .idea/dynamic.xml
      # .idea/uiDesigner.xml
      
      # Gradle:
      # .idea/gradle.xml
      # .idea/libraries
      
      # Mongo Explorer plugin:
      # .idea/mongoSettings.xml
      
      ## File-based project format:
      *.ipr
      *.iws
      
      ## Plugin-specific files:
      
      # IntelliJ
      /out/
      /target/
      
      # mpeltonen/sbt-idea plugin
      .idea_modules/
      
      # JIRA plugin
      atlassian-ide-plugin.xml
      
      # Crashlytics plugin (for Android Studio and IntelliJ)
      com_crashlytics_export_strings.xml
      crashlytics.properties
      crashlytics-build.properties
      
  • 将忽略文件放到电脑的家目录下

  • 再在.gitconfig文件下配置

    • [core]
      	excludesfile = C:/用户/xxx/git.ignore
      

      在这里插入图片描述

6.2定位Git程序

用idea打开项目设置,选择版本控制中的Git,将git.exe的路径上传,然后测试,如果显示出版本号说明测试通过,idea即可使用git。

在这里插入图片描述

6.3初始化&添加&提交

1.初始化

直接打开项目,然后点击上面的VCS,然后创建新的Git仓库(默认会在当前项目文件目录下创建)

在这里插入图片描述

点击完之后,项目中的文件颜色都会变红色,说明还没有添加到暂存区

2.添加

右键项目或者所要添加的文件,选择Git,然后点击添加即可:

在这里插入图片描述

3.提交

右键项目或者所要添加的文件,选择Git,然后点击提交即可,弹出的界面可以选择想要提交的文件:

在这里插入图片描述

6.4切换版本

在这里插入图片描述

6.5创建分支

  • 第一种方式:右键项目,选择Git,然后会有创建新分支的选项,选择即可

在这里插入图片描述

  • 第二种方式:点击右下角的master,会弹出创建新分支,创建即可

在这里插入图片描述

  • 切换分支,在右下角会显示所有分支,点击想要切换到的分支即可。

在这里插入图片描述

6.6合并分支

  • 正常合并:选择所要合并的分支,点击合并到当前分支即可。

在这里插入图片描述

  • 冲突分支:合并的时候会弹出代码框,让你手动合并代码。

在这里插入图片描述

7.IDEA集成GitHub

7.1设置GitHub账号

  • 点击idea左上角文件,选择设置,在版本控制里面有Github选项,选择,添加github账号
  • 因为账号密码登录会很难响应,所以可以通过使用令牌登录:
    • 先在浏览器登录github账号,然后再idea添加账号页面选择令牌登录,然后点击生成,就会跳转到令牌生成页面,所有权限都勾选上,然后生成令牌,复制令牌登录即可。

在这里插入图片描述

7.2分享项目到GitHub

将项目分享到github上面,而且是自动生成远程库,并且push到github:

在这里插入图片描述

7.3推送修改后的代码到远程库

  • 将代码修改后,先提交到本地库,在右键项目,便会有pull和push的选项:

在这里插入图片描述

也可以点击右上角的版本控制器来进行操作

  • 点击之后会弹出所要push的路径

在这里插入图片描述

  • 注意:push是将本地库代码推送到远程库,如果本地库代码跟远程库代码版本不一致,push操作

会被拒绝,就是说想要push成功,一定要保证本地库版本要比远程库版本高。所以一般都会先pull拉取一下代码,再修改,再提交推送。

7.4拉取远程代码合并本地库

  • 按照上面的操作,点击pull,选择所要拉取的链接,进行拉取即可。

  • 注意:pull是拉取远端仓库代码到本地,如果远程库代码和本地库不一致会自动合并,有时候会出现合并冲突问题,则需要自己手动合并代码。

7.5clone克隆远程库到本地

点击idea,先不要进入任何一个项目,点击左上角vcs工具,然后导入github仓库的链接,克隆项目即可。

在这里插入图片描述

在这里插入图片描述

8.国内代码托管网站Gitee

8.1创建远程库

和github一样操作即可

在这里插入图片描述

在这里插入图片描述

8.2IDEA集成码云

1.打开idea安装码云插件

在这里插入图片描述

2.打开再版本控制里面先添加gitee账号

在这里插入图片描述

3.对于push和pull操作和github类似,都是右键项目点击对应选项即可。

8.3码云导入Github项目

1.点击新建仓库,点击右上角的导入仓库

在这里插入图片描述

2.然后点击github的url,登录github账号就会看到自己的的所有仓库,然后选择导入即可。

在这里插入图片描述

3.当在github对项目代码进行修改之后,在gitee的对应的仓库名字旁边会有个更新的符号,点击即可更新代码。

完结撒花!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值