🔥常用命令🔥
++++++++++++配置
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 🔥新建标签 默认为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 🔥删除一个远程标签
关联仓库
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin 地址
git push -u origin main
====================================
git init
git remote add origin git@github.com:Mr-twelve/student-management.git
git fetch
git checkout -b main origin/main
git 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 master
No 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 master
No commits yet
Changes 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 status
On branch master
Changes 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 status
On branch master
Changes 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 log
commit 2623b71862db7ec6a3a945ebbc47ac1860b0101d (HEAD -> master)
Author: shier <1173919359@qq.com>
Date: Tue Jun 29 14:00:15 2021 +0800
第二次提交
commit fa77e9d63bb914a7b73c14be63ef58a194602578
Author: shier <1173919359@qq.com>
Date: Tue Jun 29 12:56:43 2021 +0800
提交注释:第一次提交
-----------------------------------------------------------------------------------------
🔥🔥🔥再次修改文件,不经过暂存区直接提交🔥🔥🔥
-----------------------------------------------------------------------------------------
拾贰@LAPTOP-IBB5UCG7 MINGW64 /d/临时/git (master)
$ git status 🔥🔥🔥修改后查看暂存区状态🔥🔥🔥
On branch master
Changes 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 commit -m '第三次提交' 🔥🔥🔥未添加暂存直接提交🔥🔥🔥
On branch master
Changes 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.txt
index 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 status
On branch master
Changes 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 status
On branch master
Changes 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 status
On branch master
Changes 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 | 删除一个远程标签 |