Git的使用

本文详细介绍了Git的用途、安装步骤,以及在Linux环境下的常用命令。讲解了Git的三大工作区、基本操作,如初始化、提交、回退等,并介绍了分支管理和解决合并冲突的方法。此外,还涵盖了Git远程仓库的使用,包括与GitHub的交互、克隆、推送和拉取操作。最后,阐述了SSH免密登录的配置,以便更便捷地进行代码管理。
摘要由CSDN通过智能技术生成

Git的使用

一、Git介绍

1. 什么是git

Git 是一款免费、开源的分布式版本控制管理系统,用于敏捷高效地处理任何或大或小的项目。

2. git的作用

版本控制系统在项目开发中作用重大,主要的功能有以下几点:

  • 代码备份
  • 版本回退
  • 协作开发
  • 权限控制

二、安装Git

1. 注意事项
  • 不要安装在中文目录
  • 不要使用桌面管理软件
  • 安装一路下一步,中间可以设置安置路径
  • 安装完成后,在桌面单击鼠标右键,看到如下两行即为安装成功

安装成功

2. Linux命令

Linux 是一套开源免费的操作系统,与系统的交互通常用命令来实现,常用的命令有:

cd			:		进入某一个文件内
cd..		:		回到上一级,Tab键自动补全
ls			:		查看文件夹下的文件
clear		:		清屏
mkdir		:		创建文件夹,可以一次性创建多个
touch		:		创建一个文件,后加文件名
rm			:		删除文件,后加文件名
rm dir -r	:		删除文件夹选项
rm dir -f	:		强制删除文件夹
mv			:		移动文件,后加文件名,相当于剪切
cat			:		查看文件内容
ctrl + c	:		取消命令
Tab			:		自动补齐路径
*			:		代表所有,*.css   *.js
3. 编辑器VIM

Vim 是一款命令行下的文本编辑器,编辑方式跟图形化编辑器不同。

vim			:		编辑文件,后加文件名,文件不存在则创建
i			:		进入编辑模式(i	insert)
ESC + :wq	:		保存并退出
ESC + :q!	:		不保存并退出

三、 Git常规操作

1. git三个区

要对某个项目使用git进行管理,需要使用git init命令初始化git仓库,git init会在当前目录生成一个隐藏文件.git,不要修改这个文件的任意东西。

git仓库分三个区:

工作区:书写代码的地方,工作的目录就叫工作区。
暂存区:暂时存储的区域,需要先从工作区提交到暂存区,暂存区的目的是避免误操作。
仓库区:将保存在暂存区的内容永久转储到git仓库,生成版本号,能回退到某一个具体的版本。

2. git基本命令

git init:初始化git仓库,使用git对某个项目进行管理。

//	1.初始化仓库,在当前目录下生成一个隐藏文件夹.git
git	init

git add:将工作区添加到暂存区

//	1.将index.html添加到暂存区
git add index.html
//	2.将css目录下所有的文件添加到暂存区
git	add	css
//	3.添加当前目录下所有文件
git	add . 
git	add --all

git commit:将文件由暂存区添加到仓库区,生成版本号(存档)。

//	1.将文件从暂存区提交到仓库
git	commit -m "提交说明"
//	2.如果不写提交说明,会进入vi编辑器,提交不成功。
//	3.需要使用vi输入内容,vi编辑器常用操作	:q!来退出
git commit   

git config:如果是第一次提交,需要配置提交者信息。

//	1.你的目标用户名
git config user.name
//	2.你的目标邮箱名
git config user.email

//	3.使用--global参数,配置全局的用户名和邮箱名,只需要配置一次
git config  --global user.name  皮皮虾
git config  --global user.email 8123166761@qq.com

如果之前配置过了,想清空的话,可以使用:

git config --global user.name '' 
git config --global user.email ''

git status:查看文件状态。

红色表示工作区中的文件需要提交
status-hong
绿色表示暂存区中的文件需要提交
status-lv

git log:查看提交日志。

git log --oneline:简洁的日志信息。

git reflog:查看所有的版本信息,包括回退的操作。

3. git重置或版本回退

git reset:版本回退,将代码恢复到已经提交的某一个版本。

git reset --hard 版本号:将代码回退到有一个指定的版本。

//	1.当使用了git reset命令后,版本回退,使用git log只能看到当前版本之前的信息
//	2.使用git reflog可以查看所有的版本信息
4. git忽略文件

在仓库或者项目代码中,有些文件是不想被git管理的,比如数据的配置密码、写代码的一些思路、node_modules等。git可以通过配置可以忽略一些文件,这样的文件就可以不用提交了。

在仓库或者当前项目的根目录创建一个.gitignore的文件,文件名是固定的。
将不需要的被git管理的文件路径添加到.gitignore中。

//	1.忽视idea.txt文件
idea.txt
//	2.忽视css下的index.js文件
css/index.js
//	3.忽视css下的所有的js文件
css/*.js
//	4.忽视css文件夹
css

四、 Git分支操作

1. git分支命令

在git中,分支实质上仅仅是一个指针,每次代码提交后,这个分支指针就会向后移动,保证一直指向最后一次提交的的版本。git中使用HEAD指向当前分支。

git branch 分支名称:创建分支,分支中的代码都在创建与当前分支的内容完全相同,相当于复制了一份。

//	1.git在第一次提交时,就有一个叫master的主分支
//	2.创建了一个叫dev的分支
git branch dev

git branch:可以查看所有的分支。

//	1.在当前分支的前面会有一个	*
//	2.在git中,有一个特殊指针HEAD,永远会指向当前分支

git checkout 分支名称:切换分支,HEDA指针指向了另一个分支。

//	1.在当前分支的任何操作,都不会应影响到其它的 分支,除非进行了分支合并
//	2.提交代码时,会产生版本号,当前分支指向最新的版本号

git checkout -b 分支名称:创建并切换分支。

//	创建分支会做两件事:
//	1.创建一个新分支
//	2.把HEDA指针指向当前的分支

git branch -d 分支名称:可以删除分支。

//	1.不能在当前分支删除分支,需要切换到其他分支才能删除
//	2.master分支时可以删除的,但不推荐那么做

git merge 分支名称:将其它分支的内容合并到当前分支。

//	1.在master分支中执行,git merge dev将dev分支中的代码合并到master分支
2. git合并冲突

对于同一个文件,如果有多个分支需要合并时,容易出现冲突。
合并分支时,如果出现冲突,只能手动处理,再次提交,一般做法,把自己的代码放到冲突代码的后面即可。

五、 Git远程仓库

1. git与github

git与github没有直接关系。

//	1.git是一个版本控制工具
//	2.github是一个代码托管平台,开源社区。
//	3.gitee是一个国内的代码托管平台和github类似。

git clone:克隆远程仓库的代码到本地。

//	1.从远程仓库克隆到本地的代码中包含了.git目录
//	2..git目录保存着所有版本信息
//	3.npm install下载项目所需要的依赖

git clone 远程仓库地址 自定义名称:下载远程仓库代码并自定义项目名字。

git push:将本地仓库中代码提交到远程仓库。

git push 仓库地址 master:提交代码到远程仓库,master分支必须写。

//	1.第一次提交需要填写github的用户名和密码
//	2.现在又了个人token之后,就不需要用户名和密码了
//	3.现在github代码托管平台,已经将主分支名称改成main

git push https://github.com/haiten123/mCde205.git main

git pull:将远程的代码下载到本地,并和本地代码进行对比。

//	1.通常在push前,需要pull一次

git remote:给仓库地址设置一个别名。

//	1.给远程仓库设置一个别名
git remote add 仓库别名 仓库地址
git remote add shangpinhui git@github.com:你的注册名/test.git

//	2.使用如下来推送数据
git push shangpinhui main

//	3.如果第一次提交是如下 代码的话,那么接下来
git push -u shangpinhui main   // 第一次提交时的执行代码

//	4.后续使用此命令即可提交 
git push   

//	5.删除这个别名
git remote remove 

git push 远程仓库地址 分支名称 -f:代码推送冲突,可以使用强制推送(force)。

git restore 文件名称:找回误删的文件。

git restore 文件名称
OR:
git restore *  // 找回所有已删文件

六、 免密提交

1. SSH免密登录

git支持多种数据传输协议:

  • https协议:https://github.com/你的注册名/test.git 需要输入用户名和密码
  • ssh协议:git@github.com:你的注册名/test.git 可以配置免密码登录

每次push或者pull代码,如果使用https协议,那么都需要输入用户名和密码进行身份的确认,非常麻烦。

  • github为了账户的安全,需要对每一次push请求都要验证用户的身份,只有合法的用户才可以push
  • 使用ssh协议,配置ssh免密码,可以做到免密码往github推送代码
2. SSH免密登录配置
1.创建SSH Key:ssh-keygen -t rsa
2.在文件中C:\用户\当前用户名\    
3.找到 .ssh 文件夹
4.文件夹中有两个文件:
	私钥:id_rsa
	公钥:id_rsa.pub
5.将公钥添加到github当中
6.在 github -> settings -> SSH and GPG keys页面中,新创建SSH key
7.粘贴公钥id_rsa.pub内容到对应文本框中
8.在github中新建仓库或者使用现在仓库
9.拿到git@github.com:用户名/仓库名.git
10.此后,再次SSH方式与github“通信”,不用输入密码确认身份了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值