【基础篇】Git基本操作及IDEA操作Git

大家好,我是200,我又来了!

知识背景

问题:“在工作开发代码中,一个项目可能是由多个人去完成的,但是如果大家都在本地存放代码去开发的话,这种就可能会产生冲突,并且无法进行统一管理,导致开发困难。”

目前常用解决方案:SVN、Git

SVN:SVN是集中式管理工具,也就是说如果SVN挂了,就什么都做不了了,所以这就是集中式管理的弊端。

Git:Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。在项目内有一个Git仓库,也就是说每一个本地项目都有一个完整的Git仓库,所以即使断网的情况也不会影响提交代码,或某个人的git挂了,也不影响其他开发人员提交代码。

所以本文以Git进行展开讲解,如需了解SVN的使用可私信沟通了解

git图解
image-20210829045749033
image-20210829045749033

Git实战

Git命令行操作

1.安装git

首先进入GitHub官网,下载适合自己电脑的版本正常安装就可以。可以选择安装路径。选项默认即可。 安装完成以后出现右键出现Git Bash Here

image-20210829034751825
image-20210829034751825
2.登陆github,创建远程仓库
image-20210829034858032
image-20210829034858032
image-20210829034926820
image-20210829034926820

2.在桌面模拟创建一个项目

image-20210829045822815
image-20210829045822815

在文件里右键选择Git Bash Here

image-20210829045852741
image-20210829045852741
# 初始化仓库
git init

#
 添加文件到暂存区
git add

#
将暂存区内容添加到仓库中。
git commit
image-20210829035028196
image-20210829035028196
image-20210829035117424
image-20210829035117424

⚠️注意:上图出现报错的解决方式如下

#配置用户名
$ git config --global user.name 用户名

#
配置邮箱
$ git config --global user.email 邮箱地址
3.提交到远程仓库
#将本地文件添加到远程
git remote add origin https://github.com/wth19970830/hellogithub.git

#
上传到github
git push -u origin master

#
拉代码
git pull

⚠️由于命令提交代码每次都需要输入密码,所以如下做免密操作获取密钥

# 获取密钥
$ ssh-keygen -t rsa -C 邮箱地址
image-20210829035256060
image-20210829035256060
上图可看到对应的密钥路径 已圈出

image-20210829035354204 选择文件中id_rsa.pub中的内容复制到github

image-20210829045943110
image-20210829045943110
image-20210829050008455
image-20210829050008455

成功之后我们每次再运行 git push origin master命令无须再次输入密码要想实现免密提交代码,还有一点需要注意的就是,我们在使用git remote add 远程项目别名 远程项目地址命令的时候,要保证远程项目地址使用的是SSH协议而不是HTTPS协议

4.在github中删掉一个项目
image-20210829050051030
image-20210829050051030

内容添加项目名确认一下

image-20210829050116421
image-20210829050116421

IDEA操作git

1.创建web项目
image-20210829050156222
image-20210829050156222

image-20210829050219455 image-20210829050240686 image-20210829050300000 提交成功后,查看github并没有显示成功,而我们做的这部操作时将文件添加到了本地我们还需要进行push操作上传到远程

image-20210829050322339
image-20210829050322339

直接点push就可以成功提交到远程仓库

image-20210829050355353
image-20210829050355353

![image.png](https://upload-images.jianshu.io/upload_images/15607355-ff25131bebc0fc45.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240

image-20210829050438149
image-20210829050438149
image-20210829050517274
image-20210829050517274
2.新增文件

如果整个项目提交在根目录进行上传

image-20210829050543514
image-20210829050543514
image-20210829050601605
image-20210829050601605
3.手动添加方式
image-20210829050747150
image-20210829050747150
4.打开github上的项目
image-20210829051347795
image-20210829051347795
image-20210829040718623
image-20210829040718623
5.合作开发
image-20210829051405868
image-20210829051405868
6.安装插件
image-20210829051432698
image-20210829051432698
7.忽略文件插件

image-20210829051520653 image-20210829051538552 image-20210829051612447

image-20210829051643278 image-20210829051707816

image-20210829051744723
image-20210829051744723
8.pull失败
image-20210829051806080
image-20210829051806080

解决:

image-20210829051829257
image-20210829051829257
image-20210829051848773
image-20210829051848773
image-20210829051902083
image-20210829051902083

拿出每次提交的版本 image-20210829051931101比如对这个版本感兴趣 image-20210829052009911

image-20210829052036402
image-20210829052036402
image-20210829052053067
image-20210829052053067

Git命令补充

1.远程拷贝
#拷贝一份远程仓库,也就是下载一个项目。
git clone [url]
2.查看仓库状态
# 查看仓库当前的状态,显示有变更的文件。
git status
git status -s #获取简短的输出结果
3.比较文件的不同,即暂存区和工作区的差异。
# 命令比较文件的不同,即比较文件在暂存区和工作区的差异。
# 命令显示已写入暂存区和已经被修改但尚未写入暂存区文件对区别。
git diff 
# 尚未缓存的改动
git diff
# 查看已缓存的改动
git diff --cached
# 查看已缓存的与未缓存的所有改动
git diff HEAD
4.回退版本
git reset [--soft | --mixed | --hard] [HEAD]

-mixed 为默认,可以不用带该参数,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。

git reset  [HEAD] 

#
 实例
$ git reset HEAD^            # 回退所有内容到上一个版本  
$ git reset HEAD^ hello.php  # 回退 hello.php 文件的版本到上一个版本  
$ git  reset  052e           # 回退到指定版本

#
 --soft 参数用于回退到某个版本
git reset --soft HEAD

$
 git reset --soft HEAD~3 # 回退上上上一个版本
--hard 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交:
git reset --hard HEAD

$
 git reset –hard HEAD~3  # 回退上上上一个版本  
$ git reset –hard bae128  # 回退到某个版本回退点之前的所有信息。 
$ git reset --hard origin/master    # 将本地的状态回退到和远程的一样 

注意:谨慎使用 –hard 参数,它会删除回退点之前的所有信息。

HEAD 说明:

HEAD 表示当前版本

HEAD^ 上一个版本

HEAD^^ 上上一个版本

HEAD^^^ 上上上一个版本

以此类推...

可以使用 ~数字表示
HEAD~0 表示当前版本

HEAD~1 上一个版本

HEAD^2 上上一个版本

HEAD^3 上上上一个版本

以此类推
5.查看提交日志
git log

#
 查看历史记录的简洁的版本
$ git log --oneline
6.删除工作区文件
git rm <file>

下期预告

本期针对windows进行git讲解,下期将会针对Mac的git进行讲解,并补充本文中未涉及到的命令及实战,我们下期见喽~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值