git基础之常用操作以及问题记录

一、实操常用命令

知识铺垫

1.Git三种状态和工作模式

状态描述
已提交已经提交表示数据已经安全保存在本地数据库中
已修改已经修改,但是没有保存到数据库中
已暂存已暂存表示对一个已经修改文件的当前版本做了标记,使之包含在下次提交的快照中
分类描述
工作区自己在本地看到的目录,也就是指当前本地目录
暂存区Git的版本库中存放了很多东西,最重要的就是称作stage(或者叫index)的暂存区,还有Git自动创建的第一个分支master,以及指向master的一个指针叫做HEAD
Git仓库工作区有一个隐藏目录git,这个并不算工作区,而是Git的版本库

git流程描述

  • 1.在工作区需改某些文件
  • 2.对修改后的文件进行快照,添加到暂存区
  • 3.提交更新转入到git仓库中
2.创建版本库并且提交文件常用命令

提交文件

1、git add .   (点不能少,代表当前目录下的全部文件)
2、git status         ----查看当前改动的文件信息
3、git commit -m "提交的信息备注"
4、git push               --------提交代码到当前分支默认是master

文件修改

//查看当前修改文件与修改之前区别
git diff HEAD -- 22.txt

在这里插入图片描述退出追踪(移除暂存区的内容)

git restore --staged 22.txt

在这里插入图片描述

//取消上一次操作
git reset HEAD 22.txt

在这里插入图片描述

版本记录

//版本记录
git log
//查看详细版本记录
 git log --pretty=oneline 
 //全部提交记录,不因为回退版本删除日志
 git reflog

在这里插入图片描述
在这里插入图片描述

版本回退

//回退上一个版本
git reset --hard HEAD^ 
//回退两个版本
git reset --hard HEAD^ ^
//直接回退两个版本
git reset --hard~2
//复制文本唯一标识,保证前几位唯一
git reset --hard 回退版本唯一标识

查看当前本地git文件

git ls-files

本地分支

查看分支

//带星号是当前所在分支
git branch

在这里插入图片描述
在master基础下,创建分支

//git checkout -b 分支名
git checkout -b keke

在这里插入图片描述切换分支

git cheakout keke
//创建并切换到新建分支
git checkout -b 新分支名字

在这里插入图片描述删除指定分支

git branch -d 分支名
//强制删除本地分支
git branch -D 分支名

在这里插入图片描述

合并分支

//要切换到主干分支再去合并分支
git merge 分支名

在这里插入图片描述

重命名分支

//如果new名字分支已经存在,就需要-M强制重命名,否则使用-m进行重命名
git branch -m|-M oldbranch newbranch

远程分支

查看本地分支与远程分支

git branch -a

在这里插入图片描述

推送本地分支到远程分支

git push origin 本地分支名字

删除远程分支,本地分支还保留

git push origin :移除的远程分支名

拉取远程指定分支并在本地创建分支
在这里插入图片描述

git checkout -b 本地分支名称 origin/remote_branch

创建新分支,并提交远程仓库

git checkout -b 分支名
git add . 
git commit -m "备注"
git push -u origin 分支名
//远程已有分支(并将所有操作提交到暂存区之后已经git add /git commit操作之后)
git push  

获取远程仓库的最新状态

git fetch

分支冲突(合并时主干和分支中属于同一个文件,同一行但是内容不一样)

//解决是以master为准,还是分支为准,具体情况具体解决

拉取远程最新代码

//推送之前先拉取最新代码
git pull

步骤一:登录githHub

gitHub网页多数可能下会被浏览器拦截,首先检查是不是浏览器安全权限给的不够,再去检查本地防火墙是否关闭。如果上述都没有问题。找到代理服务

在这里插入图片描述

取消勾选,酱紫基本是没有问题了

在这里插入图片描述
步骤二:新建一个远程仓库

在gitHub中新建一个远程仓库之前检查是否填写好ssh密钥

在这里插入图片描述

如果没有密钥,需要在git下输入

//换成自己的注册邮箱
ssh-keygen -t rsa -C "3208230974@qq.com"

在这里插入图片描述

找到文件夹下的该公钥文件,用记事本打开,粘贴到gitHub下面,注意要把最后的空格删掉噢

在这里插入图片描述

检查自己的配置项,配置的是否是当前公钥,保证远程仓库密钥和本地绑定一致
在没有其它绑定gitHub账号前提下,也可以输入进行绑定

ssh-add ~/.ssh/id_rsa

在这里插入图片描述检查是否关联成功

$ ssh -T git@github.com

步骤三:绑定远程仓库

  1. 创建本地文件夹
  2. 初始化git,输入git init
  3. 添加文件夹git add git.text
  4. 存储到缓存区git commit -m "修改样式"
  5. 上传远程仓库
二.Git实用命令

stash可将未提交的修改保存至堆栈中,不会产生多余的commit

git add .						# 把文件加到版本控制里
git stash push [-m "说明"]		# 紧急离开一下,暂时保存当前修改

在这里插入图片描述查看暂存

git stash list						# 查看记录
git stash show [stash@{index}]		# 查看stash修改列表
git stash show -p [stash@{index}]	# 查看stash修改详情

在这里插入图片描述
弹出暂存

git stash pop [stash@{index}]		# 弹出某次Stash
git stash apply [stash@{index}]		# 拷贝某次Stash

删除暂存

git stash drop [stash@{index}]		# 删除某次Stash
git stash clear						# 删除全部Stash

有时候我们在用git提交代码之后,突然发现有些细节的小问题,需要修改并再次提交,但是这次的提交又没有必要作为一个单独的commit,也不想让领导看到这多次的提交,从而觉得这开发太不认真,这时候就需要使用git命令把多次的commit合并成一个commit。

git rebase -i 命令可以用于合并很久之前的提交(commit)。

当您使用 git rebase -i 命令打开交互式变基编辑器界面后,您可以选择要进行操作的提交记录,并对它们进行编辑。通过将多个连续的 pick 操作行合并为一个,您可以合并这些提交记录。

在编辑器中,将要合并的提交记录行的 pick 命令修改为 squash 或 fixup,保存并关闭编辑器。使用 squash 会将选择的提交与其前面的提交合并为一个新的提交,并且还会允许您编辑合并后的提交消息。而使用 fixup 则会将选择的提交与其前面的提交合并,但保留前面的提交消息。

请注意,在合并较早的提交时,可能会出现冲突,需要手动解决冲突并完成合并过程。确保在进行任何修改之前备份代码或创建一个分支,以防止意外情况发生。

总结来说,通过在交互式变基编辑器界面中修改操作行,您可以使用 git rebase -i 命令合并很久之前的提交记录

git rebase -i 8cab8

在这里插入图片描述

git rebase --quit
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

可可鸭~

想吃糖~我会甜

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值