Git极速5分钟入门教程(保姆级)

一、基础配置及概念

1、区域

工作区:.git 所在的本地目录

暂存区:.git/index

本地仓库:.git/objects

注:该图片来源@GeekHourhttps://www.bilibili.com/video/BV1HM411377j?spm_id_from=333.788.videopod.sections&vd_source=c0418f9acbeb1019f0c292a520ab7bbb

2、状态

未跟踪Untrack 未被git管理的文件

未修改Unmodified 已被git管理但尚未被修改的文件

已修改modified 已被git管理且已被修改但尚未添加到暂存区内的文件

已暂存Staged 已被git管理也已被修改且已添加到暂存区内的文件  


3、身份说明

        初次使用git时,需要对我们的身份进行说明(注:以下操作并不等于登录注册,仅作为标记说明 本地仓库属性 相当于备注标记

$git config --global user.name "XXXXXX(配置名称)" 

$git config --global user.email  XXXXXX@example.com(配置邮箱)

二、创建本地仓库(版本库)

本地若无仓库则直接新建文件夹 文件夹内右键选择Git Bash Here后输入

$git init     //初始化一个本地仓库

三、常见的命令

1、查看仓库文件(修改)状态

$git status

2、查看文件(修改前后的)差异

$git diff

3、查看历史日志

$git log

4、文件删除

$git rm <file>    //<file>处输入要删除的文件名

5、添加到暂存区

$git add <fileName>		//将文件提交到暂存区
//git add .		表示将当前目录的文件都提交到暂存区

6、提交

$git commit -m <message>  								
将暂存区的文件提交到本地仓库的当前分支,<message>输入本次提交的描述(可以理解相当于注释)

7、版本回退

$git reset <commit-id>
// = git reset --mixed <commit-id>

$git reset --soft	
$git reset --hard
$git reset --mixed
工作区暂存区
soft保留保留
hard不保留不保留
mixed保留

不保留   

通俗的讲,使用soft模式回退版本后,版本之间工作区及暂存区修改的内容仍旧保留

使用hard模式回退版本后,相比soft的心慈手软,hard便显得心狠手辣,将两个区域的内容都删除

通常用在确定放弃当前修改时,使用hard模式回退版本并将两个版本间的两个区域修改的内容删除

而mixed模式结合两个模式,也是不加修饰在默认下执行的模式

mixed模式回退版本后,保留了版本间工作区修改的内容,仅删除了暂存区的修改内容

mixed模式与soft模式相比之下,只有是否保留版本之间暂存区修改的内容是否保存

四、远程仓库

1、配置ssh

$cd                              //先回到根目录
$cd .ssh 						 //再进到.ssh的根目录

$ssh-keygen -t rsa -b 4096 	     //生成ssh密钥,并指定协议为RSA;指定生成大小为4096

回车提交后------>

输入密钥文件名称(若首次使用,则直接回车,默认在.ssh目录下生成密钥名称为id_rsa的密钥文件;

*若不是则请自定义新的密钥名称,以免冲突覆盖(该覆盖过程不可逆,请谨慎

再次回车提交后------>

输入密码(此密码是连接ssh的密码,图方便可直接回车为空

再次再次回车提交后------>

系统会在本地.ssh目录下生成两个密钥名称为id_rsa的文件

其中无后缀的id_rsa文件为私钥文件(谁也不要泄露!)

带后缀的id_rsa.pub文件为公钥文件,打开公钥文件将内容复制至git hub的设置中

找到SSH字眼一栏,点击添加SSH密钥进行粘贴 完成配置;

*若非通过默认操作,而自己重命名密钥文件名的,需要在.ssh目录下创建config文件

在config文件中粘贴以下内容(XXX为自己改的文件名)

注:git粘贴快捷组合键====>>  Shift+insert

# github 
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/XXX

2、创建/克隆仓库

创建:git hub上新建一个远程仓库

克隆:git hub上心仪的项目的页面中,Code里选择复制URL

$git clone <url>(粘贴刚才复制的url)

提示输入密码(为创建密钥时的密钥密码,为空直接回车即可

3、将新建的远程仓库添加到本地(本地仓库关联远程仓库

$git remote add origin(仓库别名,默认为origin) <remote-url>(为git远程仓库的url)
$git branch -M main
$git push -u origin main

4、将本地分支修改推送给远程仓库 push

$git push <远程仓库名> <远程分支名>:<本地分支名>
$git push origin main

git push <远程仓库名> <远程分支名>:<本地分支名>

加粗部分可省略,表示默认==>推送仓库别名为origin的main分支

$git push    //省略简化后

5、将远程仓库文件拉到本地 pull

git pull <远程仓库名> <远程分支名>:<本地分支名>
$git pull origin main	//此处省略 “:<本地分支名>”,会默认为本地当前分支
$git pull    //省略后默认拉取仓库别名为origin的main分支

五、分支

        顾名思义从主线中分离出支线,各自在分支上完成相应的功能开发,再合并到主干中,提升多人协同的开发效率

$git branch					//查看分支
$git branch <name>			//创建分支 <name>为分支名
$git checkout <name>		//切换分支
$git checkout -b <name>		//创建+切换分支 = git branch <name> + git checkout <name>

六、合并分支

$git merge <name>			//合并指定分支到当前分支
$git branch -d <name>		//删除分支

七、解决(合并)冲突

什么是冲突?==> 两个分支中修改的内容有重合的部分

在使用上述git merge 命令后,有冲突但依旧会合并,但会显示冲突内容, 然后需要手动进行修复

修复后再次提交

$git add .
$git commit -m "merge conflict"

*若提交之前想中止此次合并操作

$git merge --abort

八、储藏代码

因为在内容有修改后无法切换到其他分支,修改的内容需要提交或临时储存后才能切换其他分支

$git stash						储藏修改的代码
// =git stash push			
$git stash apply @stash{0}		恢复之前修改的代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值