返回首页

git 的指令

2026-08-25
1062 字 5 分钟

git的使用#

##过程 过程修改文件 → 查看状态 → 暂存 → 提交 → 推送到远程仓库

1.创建或则获取项目#

  1. 创建本地git仓库 cd 项目目录 初始化: git init 这个会创建一个隐藏的.git 文件夹,用来保存版本信息。
  2. 克隆远程仓库 git clone https://github.com/用户名/仓库名.git 进入项目: cd 仓库名

2.查看当前状态#

Terminal window
git status

它可以告诉你:

  • 哪些文件被修改了
  • 哪些文件还没有被 Git 跟踪
  • 哪些文件已经进入暂存区
  • 当前所在分支

3.提交文件#

  1. 查看修改内容:
Terminal window
git diff
  1. 添加到暂存区 添加到暂存区 单个文件:git add 文件名 全部修改: git add .
  2. 提交 git commit -m “提交内容”

4.查看提交记录#

Terminal window
git log

简洁查看:

Terminal window
git log --online

查看最近n次提交:

Terminal window
git log --online -n

5.分支操作#

  1. 查看分支:
Terminal window
git branch
  1. 创建新分支:
Terminal window
git branch dec
  1. 切换分支:
Terminal window
git switch dev
  1. 创建并切换到新分支:
Terminal window
git switch -c feature-login
  1. 切回主分支:
Terminal window
git switch main
  1. 合并分支:
Terminal window
git switch main
git merge feature-login
  1. 删除本地分支:
Terminal window
git branch -d feature-login

6.远程仓库操作#

Terminal window
1. 查看远程仓库:
git remote -v
2. 添加远程仓库:
git remote add origin https://github.com/用户名/仓库名.git
3. 第一次推送:
git push -u origin main
4. 之后推送:
git push
5. 拉取远程更新:
git pull
git pull == git fetch ;git merge
6. 只下载远程更新,不立即合并:
git fetch

7.撤销操作#

Terminal window
1. 撤销工作区文件修改
未执行git add 前:
git restore 文件名
撤销所有
git restore .
2. 从暂存区移除文件
文件内容不变,只是不再暂存:
git restore --staged 文件名
3. 修改最近一次提交信息
git commit --amend -m "新的提交内容"
4. 回退到某一次提交
擦看提交编号:
git log --online
保留修改,只撤销提交记录:
git reset --soft 提交编号
撤销提交并保留文件修改,但取消暂存
git reset --mixed 提交编号
彻底删除之后的修改:
git reset --hard 提交编号
--hard 可能导致数据丢失,使用前要谨慎

8..gitignore 文件#

创建.gitignore 用来告诉 Git 哪些文件不要提交。

9. 使用流程#

创建项目、提交代码、推送到远程仓库、分支开发、合并代码

  1. 添加远程仓库 ···bash git remote add origin https://github.com/用户名/my-project.git 检查是否添加成功: git remote -v
  2. 远程仓库的第一次推送
Terminal window
git push -u origin main
origin:远程仓库的名称。
main: 本地分支名称。
-u :建立本地分支与远程分支的关联
之后再推送时直接执行
Terminal window
git push

10.使用分支开发功能#

因为不建议直接在main分支上开发新功能,通常为每个功能创建单独分支

  1. 从最新主分支创建功能分支
Terminal window
git switch main
git pull --rebase //这里可能出现1本地 main 没有额外提交2 本地 main 有未推送的提交(改写本地历史。)3本地的提交已经推送,并且别人基于它开发(就可能导致其他人的历史和远程历史冲突。)
这是需要小心的情况。
(git pull --rebase
如果本地和远程都各自有提交,会把你的本地提交重新放到远程最新提交之后)
git switch -c feature-login
feature-xxx 新功能
fix-xxx 一般问题修复
bugfix-xxx Bug 修复
hotfix-xxx 紧急修复
refactor-xxx 重构
docs-xxx 文档修改

11.1 -rebase会导致的历史冲突#

分类:1. 分支历史分叉(两个分支各自有提交,Git 不知道应该怎么拼接。) 2. 代码内容冲突(两个提交修改了同一个文件的同一部分,Git 无法自动决定保留哪边。)

  1. 查看与解决:
Terminal window
git status
git diff
  1. 打开文件并解决冲突:保留一方或者把两边内容合并
  2. 标记冲突已经解决
Terminal window
git add 文件1 文件2
git status
  1. 继续rebase
Terminal window
git rebase --continue

或者直接不想继续,直接取消

Terminal window
git rebase --abort

11.2 普通git pull冲突#

Terminal window
查看问题
git status
修复好后
git add 文件
git commit
如果想取消
git merge --abort
git 的指令
https://335264.xyz/posts/git-的指令/
作者
刺儿菜
发布于
2026-08-25
许可协议
CC BY-NC-SA 4.0
Comments

评论