关于github使用总结

文章目录

一、本地使用git

(一)创建一个新的本地Git库

首先在本地创建一个新的git仓库

复制代码
git init
  • 注:这个命令会在当前目录下创建一个隐藏的.git文件夹,这个文件夹就是 Git 用来存储版本控制信息的地方

然后进行一次初始提交

创建一个初始文件 readme.md,将其添加到暂存区

复制代码
touch readme.md
git add readme.md

然后执行下述命令进行一次初始提交

复制代码
git commit -m "Initial commit"
  • 注:双引号中的内容是提交信息,用于简要描述本次提交的内容、目的或相关说明

此时就会在本地仓库中创建一个初始版本记录,表明项目的初始状态已被保存下来

提交过后就可以查看提交记录

复制代码
git log

(二)在本地仓库进行版本恢复

先执行 git log 查看项目提交历史

使用 git checkout 恢复版本

执行下述命令恢复到特定的版本

复制代码
git checkout a1b2c3d4e5f6g7h8

工作目录就会被更新为该提交时的状态,包括文件内容、文件结构等

恢复分支到它的上一个已知的好的状态,使用 git checkout [分支名]

复制代码
git checkout master

会将工作目录和索引更新为master分支的最新状态。

二、常用命令

1. 查看当前分支

复制代码
git branch

打开终端,输入 git branch 命令。这会列出所有的分支,当前所在的分支前面会有一个星号(*)标记。

复制代码
git status

输出会包含一行显示当前分支的信息

2. 切换分支

复制代码
git checkout <分支名>

3. git暂存缓冲区

复制代码
将当前的修改存入缓冲区
git stash

从缓冲区中取出
git stash pop

三、使用过程中的问题总结

1. 在git仓库中再次对其中一个子文件夹执行了git init

这会形成一种嵌套仓库的情况

如果内部文件夹只是被错误地执行了git init,还没有进行实质性的版本控制操作(如没有添加文件、没有提交等),可以直接删除内部文件夹中的.git文件夹

2. 撤回上次推送到服务器的提交

(1)git revert

复制代码
git revert <commit-id>
	<commit-id> 为你想要撤销的提交的哈希值。

创建一个新的提交,这个提交是对之前提交的撤销。

操作流程:

复制代码
git log
git revert <commit-id>
git push origin <branch-name>
(2) git reset

这种方法会修改提交历史

操作流程:

复制代码
查看提交记录
git log

撤销提交,但保留工作目录和暂存区的更改。
git reset --soft <commit-id>
	<commit-id> 为你想要回退到的提交的哈希值。
	
撤销提交和暂存区的状态,保留工作目录的更改(默认选项)
git reset --mixed <commit-id>

完全撤销提交,包括工作目录、暂存区和历史记录的更改
git reset --hard <commit-id>

将本地的更改强制推送到远程分支
git push -f origin <branch-name>
	<branch-name> 为你的分支名称

3. git推送失败:本地分支与远端分支存在分歧

复制代码
	git pull --no-rebase
	合并两个分支

	git push
相关推荐
寻月隐君3 小时前
Rust 网络编程实战:用 Tokio 手写一个迷你 TCP 反向代理 (minginx)
后端·rust·github
喜欢吃豆4 小时前
快速手搓一个MCP服务指南(九): FastMCP 服务器组合技术:构建模块化AI应用的终极方案
服务器·人工智能·python·深度学习·大模型·github·fastmcp
油泼辣子多加14 小时前
2025年06月30日Github流行趋势
github
ai小鬼头14 小时前
AIStarter如何快速部署Stable Diffusion?**新手也能轻松上手的AI绘图
前端·后端·github
寻月隐君19 小时前
Rust 异步编程实践:从 Tokio 基础到阻塞任务处理模式
后端·rust·github
bingGO5499119 小时前
github 集成CICD自动化部署
github
超龄超能程序猿20 小时前
Bitvisse SSH Client 安装配置文档
运维·ssh·github
Natsume17101 天前
嵌入式开发:GPIO、UART、SPI、I2C 驱动开发详解与实战案例
c语言·驱动开发·stm32·嵌入式硬件·mcu·架构·github
荔枝吻1 天前
【AI总结】Git vs GitHub vs GitLab:深度解析三者联系与核心区别
人工智能·git·github
兔老大RabbitMQ1 天前
GitHub vs GitLab 全面对比报告(2025版)
gitlab·github