🔥常用命令🔥

  1. ++++++++++++配置
  2. git config --global user.name "your_username" 🔥设置用户名
  3. git config --global user.email your_email@xx.com 🔥设置邮箱
  4. git config --list 🔥查看所有配置
  5. ssh-keygen -t rsa -C "你的邮箱" 🔥生成SSH
  6. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  7. ++ ++
  8. ++ 本地仓库
  9. ++ ++
  10. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  11. git status 🔥查看暂存区状态
  12. git add . 🔥添加到暂存区,点标识当前目录下所有文件
  13. git add 文件名 🔥添加单个文件到暂存区 单个文件名
  14. ++++++++++++暂存区撤销
  15. git restore --staged 文件名 🔥暂存区撤销文件🔥
  16. git reset HEAD 文件名 🔥暂存区撤销
  17. 区别:
  18. restore 只能移除暂存区文件
  19. reset 撤销上一次操作,可以移除commit操作
  20. git commit -m '注释' 🔥将暂存区提交
  21. git log 🔥查看日志信息
  22. git log --pretty=oneline 🔥只显示注释和编号
  23. git reflog 🔥查看历史提交
  24. git diff HEAD -- 文件名 🔥查看变动之前和之后的文件,已提交文件和工作区文件对比,如果没有区别不打印
  25. git ls-files 🔥查看本地工作区内的文件
  26. ++++++++++++版本修改
  27. git reset --hard HEAD^ 🔥版本回退,一个^回退一次
  28. git reset --hard HEAD~5 🔥版本回退5
  29. git reset --hard 版本编号 🔥版本回退或前进
  30. git cheakout 文件名 🔥拉去文件到本地
  31. git rm 文件名 🔥删除文件,连同工作区和仓库一起删除
  32. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  33. ++ ++
  34. ++ 分支
  35. ++ ++
  36. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  37. git clone 地址连接
  38. git checkout branch 🔥切换到指定分支
  39. git checkout -b new_branch 🔥新建分支并切换到新建分支
  40. git branch -d branch 🔥删除指定分支
  41. git branch 🔥查看所有分支,并且*号标记当前所在分支
  42. git merge branch 🔥合并分支
  43. git branch -m|-M <oldbranch> <newbranch> 🔥重命名分支,如果newbranch名字分支已存在,则需要使用-M强制重命名,否则,使用-m进行重命名
  44. git branch -a 🔥查看本地与远程分支
  45. git push origin branch_name 🔥推送本地分支到远程
  46. git push origin :remote_branch 🔥删除远程分支(本地分支还在保留)
  47. git checkout -b local_branch origin/remote_branch 🔥拉取远程指定分支并在本地创建分支
  48. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  49. ++ ++
  50. ++ 标签
  51. ++ ++
  52. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  53. git tag tag_name 🔥新建标签 默认为HEAD
  54. git tag -a tag_name -m 'xxx' 🔥添加标签并指定标签描述信息
  55. git tag 🔥查看所有标签
  56. git tag -d tag_name 🔥删除一个本地标签
  57. git push origin tag_name 🔥推送本地标签到远程
  58. git push origin --tags 🔥推送全部未推送的本地标签到远程
  59. git push origin :refs/tags/tag_name 🔥删除一个远程标签

关联仓库

  1. git init
  2. git add README.md
  3. git commit -m "first commit"
  4. git branch -M main
  5. git remote add origin 地址
  6. git push -u origin main
  7. ====================================
  8. git init
  9. git remote add origin git@github.com:Mr-twelve/student-management.git
  10. git fetch
  11. git checkout -b main origin/main
  12. git add .
  13. git commit -m '注释'
  14. git push origin main

README.md模板

  1. <h1>😘欢迎访问我的语雀空间:<a href="https://www.yuque.com/shiers">https://www.yuque.com/shiers</a></h1>
  2. <h1>xxxx项目</h1>
  3. <h2>简介</h2>
  4. 👦微信小程序云开发——遇见小软,是一款学生......
  5. <h2>有关项目</h2>
  6. 开发时间:2019年8月10日——2019年8月20日</br>
  7. 使用时间:2019年8月23日——2019年8月25日</br>
  8. <h2>项目预览</h2>
  9. 微信搜搜小程序“遇见小软”或微信扫描下方二维码
  10. <h2>项目截图</h2>
  11. 👀 | 👀 | 👀
  12. :-------------------------:|:-------------------------:|:-------------------------:
  13. ![](图片) | ![](图片) | ![](图片)
  14. ![](图片) | ![](图片) | ![](图片)
  15. ![](图片) | ![](图片) | ![](图片)
  16. ![](图片) | ![](图片) | ![](图片)
  17. ![](图片) | ![](图片) | ![](图片)
  18. ![](图片) | ![](图片) | ![](图片)

基本配置

  1. git config --global user.name "your_username" 🔥设置用户名
  2. git config --global user.email your_email@xx.com 🔥设置邮箱
  3. git config --list 🔥查看所有配置

image.png

Git文件的三种状态及工作模式

使用Git操作文件时,文件的状态有以下三种:

状态 描述
已提交(committed) 已提交表示数据已经安全的保存在本地数据库中
已修改(modified) 已修改表示修改了文件,但还没保存到数据库中
已暂存(staged) 已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中

针对Git文件的三种状态,需要了解Git项目的三个工作区域:

分类 描述
工作区 简单理解为在电脑里能够看到的目录,比如自己创建的本地项目目录
暂存区 Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git自动创建的第一个分支master,以及指向master的一个指针叫HEAD
Git仓库 工作区有一个隐藏目录 .git ,这个不算工作区,而是Git的版本库

基本的Git工作流程:

  • 在工作区中修改某些文件
  • 对修改后的文件进行快照,然后添加到暂存区
  • 提交更新,将保存在暂存区域的文件快照永久转储到Git仓库中。

流程图如下:
image.png

📄创建版本库并提交文件📄

版本库又名仓库,可以简单理解成为一个目录,这个目录里面所有的文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时候都可以追踪历史,或者在将来的某个时刻可以“还原”。
编写一个文本文件并提交到git仓库

  • 初始化git本地仓库

通过指向 git init 命令在本地初始化一个本地仓库,执行该命令后会在本地初始化一个没有任何文件的空仓库。
image.png
image.png

文件暂存并提交

  1. -----------------------------------------------------------------------------------------
  2. 拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)
  3. $ git status 🔥🔥🔥查看暂存区状态🔥🔥🔥
  4. On branch master
  5. No commits yet ⛔没有提交
  6. Untracked files: ⛔未追踪的文件
  7. (use "git add <file>..." to include in what will be committed)
  8. git01.txt ⛔未追踪的文件 红色显示
  9. nothing added to commit but untracked files present (use "git add" to track) ⛔除了未跟踪的文件外,没有添加任何要提交的内容
  10. -----------------------------------------------------------------------------------------
  11. 拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)
  12. $ git add git01.txt 🔥🔥🔥添加到暂存区🔥🔥🔥
  13. -----------------------------------------------------------------------------------------
  14. 拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)
  15. $ git status 🔥🔥🔥查看暂存区状态🔥🔥🔥
  16. On branch master
  17. No commits yet
  18. Changes to be committed: ⛔已暂存文件
  19. (use "git rm --cached <file>..." to unstage)
  20. new file: git01.txt ⛔已追踪(暂存)的文件 绿色显示
  21. -----------------------------------------------------------------------------------------
  22. 拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)
  23. $ git commit -m '提交注释:第一次提交' 🔥🔥🔥将暂存区提交并添加注释🔥🔥🔥
  24. [master (root-commit) fa77e9d] 提交注释:第一次提交
  25. 1 file changed, 1 insertion(+) 1个文件改变, 1个插入
  26. create mode 100644 git01.txt
  27. -----------------------------------------------------------------------------------------
  28. 拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)
  29. $ git status 🔥🔥🔥查看暂存区状态🔥🔥🔥
  30. On branch master ⛔主分支master
  31. nothing to commit, working tree clean ⛔没有什么要提交的,工作树干净
  32. -----------------------------------------------------------------------------------------
  33. 拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)
  34. $ git log 🔥🔥🔥查看日志🔥🔥🔥
  35. commit fa77e9d63bb914a7b73c14be63ef58a194602578 (HEAD -> master) ⛔提交编号(暂存区HEADmaster分支)
  36. Author: shier <1173919359@qq.com>
  37. Date: Tue Jun 29 12:56:43 2021 +0800
  38. 提交注释:第一次提交
  39. 拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)

文件更新

  1. 🔥🔥🔥修改文件后🔥🔥🔥
  2. -----------------------------------------------------------------------------------------
  3. 拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)
  4. $ git status
  5. On branch master
  6. Changes not staged for commit: ⛔已更改
  7. (use "git add <file>..." to update what will be committed)
  8. (use "git restore <file>..." to discard changes in working directory)
  9. modified: git01.txt ⛔修改的文件 红色标识
  10. no changes added to commit (use "git add" and/or "git commit -a")
  11. -----------------------------------------------------------------------------------------
  12. 拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)
  13. $ git add . 🔥🔥🔥添加到暂存,点表示当前目录下所有文件🔥🔥🔥
  14. -----------------------------------------------------------------------------------------
  15. 拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)
  16. $ git status
  17. On branch master
  18. Changes to be committed: ⛔已暂存
  19. (use "git restore --staged <file>..." to unstage)
  20. modified: git01.txt ⛔绿色标识
  21. -----------------------------------------------------------------------------------------
  22. 拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)
  23. $ git commit -m '第二次提交'
  24. [master 2623b71] 第二次提交
  25. 1 file changed, 1 insertion(+)
  26. -----------------------------------------------------------------------------------------
  27. 拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)
  28. $ git log
  29. commit 2623b71862db7ec6a3a945ebbc47ac1860b0101d (HEAD -> master)
  30. Author: shier <1173919359@qq.com>
  31. Date: Tue Jun 29 14:00:15 2021 +0800
  32. 第二次提交
  33. commit fa77e9d63bb914a7b73c14be63ef58a194602578
  34. Author: shier <1173919359@qq.com>
  35. Date: Tue Jun 29 12:56:43 2021 +0800
  36. 提交注释:第一次提交
  37. -----------------------------------------------------------------------------------------
  38. 🔥🔥🔥再次修改文件,不经过暂存区直接提交🔥🔥🔥
  39. -----------------------------------------------------------------------------------------
  40. 拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)
  41. $ git status 🔥🔥🔥修改后查看暂存区状态🔥🔥🔥
  42. On branch master
  43. Changes not staged for commit:
  44. (use "git add <file>..." to update what will be committed)
  45. (use "git restore <file>..." to discard changes in working directory)
  46. modified: git01.txt
  47. no changes added to commit (use "git add" and/or "git commit -a")
  48. -----------------------------------------------------------------------------------------
  49. 拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)
  50. $ git commit -m '第三次提交' 🔥🔥🔥未添加暂存直接提交🔥🔥🔥
  51. On branch master
  52. Changes not staged for commit:
  53. (use "git add <file>..." to update what will be committed)
  54. (use "git restore <file>..." to discard changes in working directory)
  55. modified: git01.txt ⛔红色标识,
  56. no changes added to commit (use "git add" and/or "git commit -a")
  57. -----------------------------------------------------------------------------------------
  58. 拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)
  59. $ git diff HEAD -- git01.txt 🔥🔥🔥查看变动之前和之后的文件🔥🔥🔥
  60. diff --git a/git01.txt b/git01.txt
  61. index c730559..bb40140 100644
  62. --- a/git01.txt ⛔---变动之前
  63. +++ b/git01.txt ⛔+++变动之后
  64. @@ -1,2 +1,3 @@ -变动之前,从第一行开始,连续两行,+变动之后,从第一行开始,连续三行
  65. 创建版本库并提交文件
  66. -修改1 ⛔变动之前,
  67. \ No newline at end of file
  68. +修改1 ⛔变动之后
  69. +修改2 ⛔下一行添加了“修改2”信息
  70. \ No newline at end of file

暂存区文件的提交与撤销

  1. -----------------------------------------------------------------------------------------
  2. 拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)
  3. $ git status
  4. On branch master
  5. Changes not staged for commit:
  6. (use "git add <file>..." to update what will be committed)
  7. (use "git restore <file>..." to discard changes in working directory)
  8. modified: git01.txt ⛔更新的文件 红色
  9. Untracked files:
  10. (use "git add <file>..." to include in what will be committed)
  11. git02.txt ⛔未追踪的文件 红色
  12. no changes added to commit (use "git add" and/or "git commit -a")
  13. -----------------------------------------------------------------------------------------
  14. 拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)
  15. $ git add . 🔥🔥🔥全部提交到暂存区🔥🔥🔥
  16. -----------------------------------------------------------------------------------------
  17. 拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)
  18. $ git status
  19. On branch master
  20. Changes to be committed:
  21. (use "git restore --staged <file>..." to unstage)
  22. modified: git01.txt 绿色
  23. new file: git02.txt 绿色
  24. -----------------------------------------------------------------------------------------
  25. 拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)
  26. $ git restore --staged git02.txt 🔥🔥🔥撤销git02.txt文件🔥🔥🔥
  27. -----------------------------------------------------------------------------------------
  28. 拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)
  29. $ git status
  30. On branch master
  31. Changes to be committed:
  32. (use "git restore --staged <file>..." to unstage)
  33. modified: git01.txt ⛔绿色
  34. Untracked files:
  35. (use "git add <file>..." to include in what will be committed)
  36. git02.txt ⛔文件2撤销 红色

📍Git分支操作📍

命令 描述
git checkout branch 切换到指定分支
git checkout -b new_branch 新建分支并切换到新建分支
git branch -d branch 删除指定分支
git branch 查看所有分支,并且*号标记当前所在分支
git merge branch 合并分支
git branch -m|-M oldbranch newbranch 重命名分支,如果newbranch名字分支已存在,则需要使用-M强制重命名,否则,使用-m进行重命名

分支Push与Pull操作

命令 描述
git branch -a 查看本地与远程分支
git push origin branch_name 推送本地分支到远程
git push origin :remote_branch 删除远程分支(本地分支还在保留)
git checkout -b local_branch origin/remote_branch 拉取远程指定分支并在本地创建分支

git fetch 获取远程最新(更新)分支情况

📌Git标签管理📌

命令 描述
git tag tag_name 新建标签 默认为HEAD
git tag -a tag_name -m ‘xxx’ 添加标签并指定标签描述信息
git tag 查看所有标签
git tag -d tag_name 删除一个本地标签
git push origin tag_name 推送本地标签到远程
git push origin —tags 推送全部未推送的本地标签到远程
git push origin :refs/tags/tag_name 删除一个远程标签