关于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
相关推荐
草梅友仁4 小时前
草梅 Auth 1.1.0 发布与最新动态 | 2025 年第 30 周草梅周报
开源·github·ai编程
mortimer6 小时前
安装NVIDIA Parakeet时,我遇到的两个Pip“小插曲”
python·github
心之语歌8 小时前
Spring AI MCP 客户端
人工智能·spring·github
yeshan33311 小时前
使用 Claude Code 的自定义 Sub Agent 完善博文写作体验
ai·github·agent·claudecode
程序视点11 小时前
望言OCR 2025终极评测:免费版VS专业版全方位对比(含免费下载)
前端·后端·github
玩个冰球12 小时前
Stata 18下载安装教程(非常详细),看完这一篇就够了(附安装包)
github
Xi_Xu13 小时前
Xget:下一代开源资源获取加速引擎,让你的文件下载、储存库克隆和镜像拉取快如闪电
开源·github
用户40993225021215 小时前
FastAPI的查询白名单和安全沙箱机制如何确保你的API坚不可摧?
前端·后端·github
计算机毕设定制辅导-无忧学长18 小时前
InfluxDB Flux 查询协议实战应用(二)
github
黄团团21 小时前
SpringBoot连接Sftp服务器实现文件上传/下载(亲测可用)
服务器·spring boot·github