🔥常用命令🔥
++++++++++++配置git config --global user.name "your_username" 🔥设置用户名git config --global user.email your_email@xx.com 🔥设置邮箱git config --list 🔥查看所有配置ssh-keygen -t rsa -C "你的邮箱" 🔥生成SSH++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++ 本地仓库++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++git status 🔥查看暂存区状态git add . 🔥添加到暂存区,点标识当前目录下所有文件git add 文件名 🔥添加单个文件到暂存区 单个文件名++++++++++++暂存区撤销git restore --staged 文件名 🔥暂存区撤销文件🔥git reset HEAD 文件名 🔥暂存区撤销区别:restore 只能移除暂存区文件reset 撤销上一次操作,可以移除commit操作git commit -m '注释' 🔥将暂存区提交git log 🔥查看日志信息git log --pretty=oneline 🔥只显示注释和编号git reflog 🔥查看历史提交git diff HEAD -- 文件名 🔥查看变动之前和之后的文件,已提交文件和工作区文件对比,如果没有区别不打印git ls-files 🔥查看本地工作区内的文件++++++++++++版本修改git reset --hard HEAD^ 🔥版本回退,一个^回退一次git reset --hard HEAD~5 🔥版本回退5次git reset --hard 版本编号 🔥版本回退或前进git cheakout 文件名 🔥拉去文件到本地git rm 文件名 🔥删除文件,连同工作区和仓库一起删除++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++ 分支++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++git clone 地址连接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进行重命名git branch -a 🔥查看本地与远程分支git push origin branch_name 🔥推送本地分支到远程git push origin :remote_branch 🔥删除远程分支(本地分支还在保留)git checkout -b local_branch origin/remote_branch 🔥拉取远程指定分支并在本地创建分支++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++ 标签++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++git tag tag_name 🔥新建标签 默认为HEADgit 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 🔥删除一个远程标签
关联仓库
git initgit add README.mdgit commit -m "first commit"git branch -M maingit remote add origin 地址git push -u origin main====================================git initgit remote add origin git@github.com:Mr-twelve/student-management.gitgit fetchgit checkout -b main origin/maingit add .git commit -m '注释'git push origin main
README.md模板
<h1>😘欢迎访问我的语雀空间:<a href="https://www.yuque.com/shiers">https://www.yuque.com/shiers</a></h1><h1>xxxx项目</h1><h2>简介</h2>👦微信小程序云开发——遇见小软,是一款学生......<h2>有关项目</h2>开发时间:2019年8月10日——2019年8月20日</br>使用时间:2019年8月23日——2019年8月25日</br><h2>项目预览</h2>微信搜搜小程序“遇见小软”或微信扫描下方二维码<h2>项目截图</h2>👀 | 👀 | 👀:-------------------------:|:-------------------------:|:-------------------------: |  |  |  |  |  |  |  |  |  |  |  | 
基本配置
git config --global user.name "your_username" 🔥设置用户名git config --global user.email your_email@xx.com 🔥设置邮箱git config --list 🔥查看所有配置
Git文件的三种状态及工作模式
使用Git操作文件时,文件的状态有以下三种:
| 状态 | 描述 |
|---|---|
| 已提交(committed) | 已提交表示数据已经安全的保存在本地数据库中 |
| 已修改(modified) | 已修改表示修改了文件,但还没保存到数据库中 |
| 已暂存(staged) | 已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中 |
针对Git文件的三种状态,需要了解Git项目的三个工作区域:
| 分类 | 描述 |
|---|---|
| 工作区 | 简单理解为在电脑里能够看到的目录,比如自己创建的本地项目目录 |
| 暂存区 | Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git自动创建的第一个分支master,以及指向master的一个指针叫HEAD |
| Git仓库 | 工作区有一个隐藏目录 .git ,这个不算工作区,而是Git的版本库 |
基本的Git工作流程:
- 在工作区中修改某些文件
- 对修改后的文件进行快照,然后添加到暂存区
- 提交更新,将保存在暂存区域的文件快照永久转储到Git仓库中。
📄创建版本库并提交文件📄
版本库又名仓库,可以简单理解成为一个目录,这个目录里面所有的文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时候都可以追踪历史,或者在将来的某个时刻可以“还原”。
编写一个文本文件并提交到git仓库
- 初始化git本地仓库
通过指向 git init 命令在本地初始化一个本地仓库,执行该命令后会在本地初始化一个没有任何文件的空仓库。

文件暂存并提交
-----------------------------------------------------------------------------------------拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)$ git status 🔥🔥🔥查看暂存区状态🔥🔥🔥On branch masterNo commits yet ⛔没有提交Untracked files: ⛔未追踪的文件(use "git add <file>..." to include in what will be committed)git01.txt ⛔未追踪的文件 红色显示nothing added to commit but untracked files present (use "git add" to track) ⛔除了未跟踪的文件外,没有添加任何要提交的内容-----------------------------------------------------------------------------------------拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)$ git add git01.txt 🔥🔥🔥添加到暂存区🔥🔥🔥-----------------------------------------------------------------------------------------拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)$ git status 🔥🔥🔥查看暂存区状态🔥🔥🔥On branch masterNo commits yetChanges to be committed: ⛔已暂存文件(use "git rm --cached <file>..." to unstage)new file: git01.txt ⛔已追踪(暂存)的文件 绿色显示-----------------------------------------------------------------------------------------拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)$ git commit -m '提交注释:第一次提交' 🔥🔥🔥将暂存区提交并添加注释🔥🔥🔥[master (root-commit) fa77e9d] 提交注释:第一次提交1 file changed, 1 insertion(+) ⛔1个文件改变, 1个插入create mode 100644 git01.txt-----------------------------------------------------------------------------------------拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)$ git status 🔥🔥🔥查看暂存区状态🔥🔥🔥On branch master ⛔主分支master上nothing to commit, working tree clean ⛔没有什么要提交的,工作树干净-----------------------------------------------------------------------------------------拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)$ git log 🔥🔥🔥查看日志🔥🔥🔥commit fa77e9d63bb914a7b73c14be63ef58a194602578 (HEAD -> master) ⛔提交编号(暂存区HEAD到master分支)Author: shier <1173919359@qq.com>Date: Tue Jun 29 12:56:43 2021 +0800提交注释:第一次提交拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)
文件更新
🔥🔥🔥修改文件后🔥🔥🔥-----------------------------------------------------------------------------------------拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)$ git statusOn branch masterChanges not staged for commit: ⛔已更改(use "git add <file>..." to update what will be committed)(use "git restore <file>..." to discard changes in working directory)modified: git01.txt ⛔修改的文件 红色标识no changes added to commit (use "git add" and/or "git commit -a")-----------------------------------------------------------------------------------------拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)$ git add . 🔥🔥🔥添加到暂存,点表示当前目录下所有文件🔥🔥🔥-----------------------------------------------------------------------------------------拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)$ git statusOn branch masterChanges to be committed: ⛔已暂存(use "git restore --staged <file>..." to unstage)modified: git01.txt ⛔绿色标识-----------------------------------------------------------------------------------------拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)$ git commit -m '第二次提交'[master 2623b71] 第二次提交1 file changed, 1 insertion(+)-----------------------------------------------------------------------------------------拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)$ git logcommit 2623b71862db7ec6a3a945ebbc47ac1860b0101d (HEAD -> master)Author: shier <1173919359@qq.com>Date: Tue Jun 29 14:00:15 2021 +0800第二次提交commit fa77e9d63bb914a7b73c14be63ef58a194602578Author: shier <1173919359@qq.com>Date: Tue Jun 29 12:56:43 2021 +0800提交注释:第一次提交-----------------------------------------------------------------------------------------🔥🔥🔥再次修改文件,不经过暂存区直接提交🔥🔥🔥-----------------------------------------------------------------------------------------拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)$ git status 🔥🔥🔥修改后查看暂存区状态🔥🔥🔥On branch masterChanges not staged for commit:(use "git add <file>..." to update what will be committed)(use "git restore <file>..." to discard changes in working directory)modified: git01.txtno changes added to commit (use "git add" and/or "git commit -a")-----------------------------------------------------------------------------------------拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)$ git commit -m '第三次提交' 🔥🔥🔥未添加暂存直接提交🔥🔥🔥On branch masterChanges not staged for commit:(use "git add <file>..." to update what will be committed)(use "git restore <file>..." to discard changes in working directory)modified: git01.txt ⛔红色标识,no changes added to commit (use "git add" and/or "git commit -a")-----------------------------------------------------------------------------------------拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)$ git diff HEAD -- git01.txt 🔥🔥🔥查看变动之前和之后的文件🔥🔥🔥diff --git a/git01.txt b/git01.txtindex c730559..bb40140 100644--- a/git01.txt ⛔---变动之前+++ b/git01.txt ⛔+++变动之后@@ -1,2 +1,3 @@ ⛔ -变动之前,从第一行开始,连续两行,+变动之后,从第一行开始,连续三行创建版本库并提交文件-修改1 ⛔变动之前,\ No newline at end of file+修改1 ⛔变动之后+修改2 ⛔下一行添加了“修改2”信息\ No newline at end of file
暂存区文件的提交与撤销
-----------------------------------------------------------------------------------------拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)$ git statusOn branch masterChanges not staged for commit:(use "git add <file>..." to update what will be committed)(use "git restore <file>..." to discard changes in working directory)modified: git01.txt ⛔更新的文件 红色Untracked files:(use "git add <file>..." to include in what will be committed)git02.txt ⛔未追踪的文件 红色no changes added to commit (use "git add" and/or "git commit -a")-----------------------------------------------------------------------------------------拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)$ git add . 🔥🔥🔥全部提交到暂存区🔥🔥🔥-----------------------------------------------------------------------------------------拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)$ git statusOn branch masterChanges to be committed:(use "git restore --staged <file>..." to unstage)modified: git01.txt ⛔ 绿色new file: git02.txt ⛔ 绿色-----------------------------------------------------------------------------------------拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)$ git restore --staged git02.txt 🔥🔥🔥撤销git02.txt文件🔥🔥🔥-----------------------------------------------------------------------------------------拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)$ git statusOn branch masterChanges to be committed:(use "git restore --staged <file>..." to unstage)modified: git01.txt ⛔绿色Untracked files:(use "git add <file>..." to include in what will be committed)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标签管理📌
| 命令 | 描述 |
|---|---|
| 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 | 删除一个远程标签 |
