0


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.xmlhs_err_pid*target/**/target/pom.xml.tagpom.xml.releaseBackuppom.xml.versionsBackuppom.xml.nextrelease.propertiesdependency-reduced-pom.xmlbuildNumber.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 pluginatlassian-ide-plugin.xml# Crashlytics plugin (for Android Studio and IntelliJ)com_crashlytics_export_strings.xmlcrashlytics.propertiescrashlytics-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的对应的仓库名字旁边会有个更新的符号,点击即可更新代码。

完结撒花!!!

标签: git 学习 github

本文转载自: https://blog.csdn.net/hanpiyo/article/details/128738710
版权归原作者 秃头的二哈 所有, 如有侵权,请联系我们删除。

“Git知识学习”的评论:

还没有评论