git命令汇总

本文详细介绍了Git的基本操作流程,包括生成SSH密钥以绑定GitHub账号,设置用户名和邮箱,创建远程仓库,初始化本地仓库,提交代码,以及管理文件状态。还讲解了如何使用gitlog查看历史提交,通过gitreset回退版本,使用gitbranch和gitmerge进行分支管理和合并。此外,还介绍了如何通过gitreflog找回误操作的历史记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0.绑定github账号流程

0.1 创建密钥(ssh key)

$ ssh-keygen -t rsa -C "github账号"

一直回车确定即可,
在这里插入图片描述
打开提示文件路径里的密钥,在git官网上添加SSH keys
在这里插入图片描述
在这里插入图片描述
然后可以输入:

ssh -T git@github.com

在这里插入图片描述
这里就成功了。

0.2 设置用户名和邮箱

在这里插入图片描述

0.3 建立一个远程仓库

在这里插入图片描述

0.4 本地仓库的创建

通过git init命令初始化本地仓库
在这里插入图片描述

0.5 提交代码

按照步骤3中提示的命令测试提交代码。
在这里插入图片描述
在这里插入图片描述
查看提交结果,上传成功。
在这里插入图片描述

git init

在这里插入图片描述
初始化一个仓库,生成一个隐藏的.git文件夹

git status

在这里插入图片描述
查看文件状 — 可以通过【 git add +文件 】命令将文件设为就绪,就绪了文件会变绿,没有add的文件是红色的
当前文件状态为untracked filed,如果对当前提交后在修改就是modified状态

git add < filename >

git add main.c
在这里插入图片描述

git add .
(如果当前目录下修改的文件全部暂存到status中 )
在这里插入图片描述

git commit -m < message > [提交文件]

message为需要注释为这次提交修改
在这里插入图片描述

git log [查看日志 ]

查看日志 在这里插入图片描述
每次commit提交都会有一个唯一的哈希值

  • 文件状态的名字

此时修改后的文件就是modified的状态了
在这里插入图片描述
因此文件状态是有名字的:
如果staged之前的是未创建的那就是untracked,如果是创建过的且之前commit过的文件那就是unmodifed的,如果修改了这个unmodifed的文件那他的状态就是modifed的状态
在这里插入图片描述

git reset < filename > [回退文件状态]

将绿色就绪的文件改为红色
在这里插入图片描述

git命令设置别名alias

windows下在git安装目录可以修改文件设置
在这里插入图片描述在这里插入图片描述
每次直接通过ad命令直接add所有的文件
在这里插入图片描述

git reset < commit ID > [回退版本]

如果我当前提交了很多次,我想回到之前提交的版本 可以通过git log查看之前commit的ID 也就是哈希值
在这里插入图片描述
例如我添加了b.c,我现在commit提交了新的版本,但是我想回到第一次提交时的状态
在这里插入图片描述
此时我们使用git rest + 哈希值 + hard
git reset 02a716d10c3340712c98fc180639c6e98bcd38a8 --hard

在这里插入图片描述
这样我们的代码就回退到第一次的版本了

在这里插入图片描述

git reflog [查看历史操作]

如果上面撤回的操作你后悔了,你又想回到原来最新的状态,查看所有的历史操作
在这里插入图片描述 通过

bash git reset + 哈希值 --hard 这里必须加hard才能把原来的代码找回来,如果不加hard没有反应
这里的哈希值变成7为的了,其实只要前7为就可以唯一的确定
在这里插入图片描述
在这里插入图片描述

  • git reset的模式

在这里插入图片描述
相当于回退的文件,变更他回退后的状态

git checkout -b < name > < template > [创建分支]

前面创建了很多的commit后的版本后,但是多了之后就记不住了 可以创建分支

  • name为新分支的名字
  • template:以哪个分支或者commit为模版,如果这个不写则完全复制主分支,如下图所示

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

git checkout < 分支名 > [切换分支]

通过git checkout master 切换主分支 通过git log是查看不到子分支的commit的
在这里插入图片描述
在这里插入图片描述

并且此时目录下是没有c.c文件的,再切回子分支后,c.c又会出现
在这里插入图片描述
在这里插入图片描述

git branch [查看所有的分支]

在这里插入图片描述

git merge[合并其他分支的代码]

Git | 创建与合并分支

git commit -m “解决冲突”

在这里插入图片描述
A推送bc-a分支到远程代码仓库,
B通过fetch拉取到本地仓库

如果A修改了代码,push到远程仓库,那么B如何让新的变更到自己可以git fetch 然后 merge远程分支 更方便的代码是git pull

变基rebase,即重新排列base,base指的是commit不同次的提交:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值