Git学习笔记

Git 是一个免费和开源的 分布式版本控制系统,Git易于学习占用空间小,性能快如闪电

目录

Git安装

Git使用

1.设置用户名和邮箱

2.创建Git本地仓库

3.Git的三大区域

4.Git常用指令

5.版本回滚(回退)

6.Git分支

6.1.创建分支

6.2.切换分支

6.3.合并分支

7.常用的两种用户认证方式HTTPS和SSH

7.1.HTTPS

7.2.SSH

8.远程仓库操作

1.git clone(克隆)

2.git pull

3.git push

4.合并冲突

9.Idea操作Git

9.1.导入远程仓库

9.2.基本操作

建议


Git安装

Git官网:Git

进入官网,选择对应的版本,无脑下一步就好啦!

安装完成后,电脑开始菜单会出现

Git GUI:是git的图形化界面

Git Bash:是git的命令行界面

Git使用

1.设置用户名和邮箱

为什么要配置用户名和邮箱

因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址(名字和邮箱都不会进行验证),这样远程仓库才知道哪次提交是由谁完成的。

配置

在Git命令行中依次执行

$ git config --global user.name "用户名"    //配置用户名
$ git config --global user.email "邮箱"    //配置邮箱

2.创建Git本地仓库

首先cd进入你所需要创建为本地仓库的目录,然后执行 git init

执行成功后,目录中会出现一个.git文件

3.Git的三大区域

当你在git本地仓库创建了一个文件时,它会经历以下三种状态才能被真正提交到本地仓库

工作区:当你在Git本地仓库新创建了一个文件时,他会存在工作区,这个时候他有两个状态,一个是对文件进行修改后的未暂存(unstaged),一个是新创建文件的未跟踪(untracked)

暂存区: 当你对处在工作区的文件执行 git add <文件路径>后,他会进到暂存区

仓库:当你对出在暂存区的文件执行git commit后,他会真正意义上进入本地仓库

当你不清楚当前文件处在什么状态时,可以执行git status指令查看所有未提交(git commit)文件的状态

4.Git常用指令

1.添加到暂存区操作

说明:将文件从工作区移到暂存区

命令含义
git add [file1] [file2]添加指定文件到缓存区
git add [dir]添加指定目录到缓存区,包括子目录
git add .添加当前目录下的所有文件到缓存区
git add -p同一文件的多处变化,实现分次提交

一般情况下我们直接用 git add .,因为这样可以一次性add 所有文件!

2.提交到本地仓库操作

git commit -m "message" :提交缓存区内容到本地库,message为每个版本的的更新信息,不写别就不知道你这个版本信息是啥了

3.查看历史提交日志

命令含义
git log查看详细的仓库版本信息,包括版本号,作者,创建事件(回滚后只能显示当前版本信息)
git reflog只显示版本号前7位和提交信息(回滚后也能显示全部版本信息)**
git log -g查看详细的仓库版本信息,包括版本号,作者,创建事件(回滚后也能显示全部版本信息)

这里显示了两次提交的详细信息

前面这一长串是hash算法生成的版本号

4.删除文件

git rm 文件路径/文件名 删除后需要执行 git commit命令才能生效

5.版本回滚(回退)

首先通过git log,或者其他查看历史提交日志的命令找到需要回滚的版本

然后

git reset --hard 版本号   //版本号可以不用写全,但最少需要版本号的前四位

当你回滚后,再次执行 git log,会发现找不到之前提交的版本信息了,只显示了当前这个版本的

如果我们想要查看回滚前的版本信息,这时我们要换成其他两条查看版本日志的指令,那就是

git log -g

或者

git reflog

6.Git分支

为什么要创建分支?

比如我们开发完了一个app上线了,接下那就是迭代功能开发了,如果上线的app出现了一个严重的bug,要你放下手头新功能的开发去解决这个bug,然后在发布一个新版本,如果你要是就在你要迭代功能的项目上进行修改发布的话,那肯定是不行的,且先不谈有没有新的bug出现,时间是也是不允许的,发布的前提还要把新功能完善好才行,要是删掉新功能的代码也不怎么现实,要是业务逻辑少一点还好说,要是多的话那还真是有点无从下手了,所以git的分支就很好的解决了这个问题; 如下图: master就是我们的主代码,一直优化,到v1.4版本发布了,然后接着往下开发v2.0,v2.1版本,但是v1.4版本出现了一个严重的bug,这时候我们就在这个v1.4版本创建一个分支developer来对bug进行修复,到了v1.6版本bug修复好发布出去,然后在跟原来的master主代码进行合并一下把代码添加到v2.1版本就OK了,剩下就接着迭代开发了;

img

原文章链接:Git分支的意义和使用方法_张木期的博客-CSDN博客_git分支

6.1.创建分支

git checkout -b 分支名

查看当前分支

git branch

6.2.切换分支

git checkout 分支名

6.3.合并分支

git merge

当我们新建的分支完成了需要的工作之后,需要把分支所修改的部分整合到主分支上,那么我们就需要合并分支了

首先:切换到主分支(也就是master或者main)

然后执行:git merge就合并啦!

7.常用的两种用户认证方式HTTPS和SSH

代码托管平台如 GitHub、Gitee等,使用 Git 作为版本控制工具,当用户在本地对远程仓库做一些操作时,平台需要认证该用户的账号是否有权限对该 repository 做操作,一般都提供两种认证方式 https 和 ssh

远程仓库一般支持两种协议:SSH和HTTPS,SSH协议只认机器,HTTPS协议只认账号;也即为:如果使用SSH操作远程仓库的话,我们需要使用公钥和私钥对来做权限的认证,如果使用HTTPS操作远程仓库,则需要使用账号密码来做权限的认证。无论是公钥私钥对,还是账号密码,都只做权限的认证;但是远程仓库里需要记录这些提交记录是由谁来完成的;所以我们需要给本地的git设置用户名和邮箱,用于从本地仓库向远程仓库提交记录时,在远程仓库记录下这些操作是由谁来完成的。

开发中一般SSH的认证方式用的比较多,因为不需要每次操作都进行认证

7.1.HTTPS

在进行一些例如push的操作时,平台会以验证账号密码的形式判断你是否有权限进行操作

7.2.SSH

clone的项目你必须是拥有者或者管理员,而且需要在clone前添加SSH Key。SSH 在push的时候,是不需要输入用户名的,如果配置SSH key的时候设置了密码,则需要输入密码的,否则直接是不需要输入密码的。

配置Git SSH Key

首先在git命令行中执行

ssh-keygen -t rsa -C "邮箱"

然后一路按回车Enter期间有按y确认就行了

 出现这个类似气泡框框就成功了!

这红线部分是ssh key保存的路径,我们打开看看

打开 id_rsa.pub文件复制里面的内容进Github或者Gitee里面配置就好啦!

Gitee配置

进入主页点击设置

GitHub

进入主页点击Settings

点击 SSH and GPG keys,会出现右边的内容,然后点击New SSH key

8.远程仓库操作

1.git clone(克隆)

git clone 仓库url地址

能够直接将远程仓库clone到本地

2.git pull

在克隆到本地仓库后,cd进入仓库路径,即可执行 git pull指令进行本地仓库的更新(其实就是将远程仓库进行git fetch(抓取)和在本地进行 git merge(合并分支))

好处:在和小伙伴合作开发时,不用每次开发都去clone一份小伙伴修改后的代码,而是只更改修改的部分,节约时间

git pull

3.git push

将工作后的本地仓库代码合并到线上仓库

git push

4.合并冲突

❗注意:当你远程仓库被修改或者添加文件后,如果你没有及时进行git pull获取最新修改后的版本,则会导致合并冲突(合并冲突是防止进行协同开发时,git push后将小伙伴的代码给覆盖了),无法进行 git push操作

类似于这样的信息

解决方法:先git pull获取最新版本再进行git push,如果有文件和小伙伴修改的地方冲突了的话,那么就和他沟通,进行调整后再git push(防止开席)

9.Idea操作Git

9.1.导入远程仓库

idea中点击左上角 File-->New-->Project from Version Control

填写仓库的url(https和ssh的都可以)

设置本地仓库(相当于命令行操作中clone存放的位置)

导入完成后会出现以下几个按钮

9.2.基本操作

从左到右依次代表 git pull ,git commit ,git push

10.建议

git在进行文件更改,添加,删除时,都需要一条龙执行 git add .    git commit -m "版本信息"

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值