Git 是一个分布式版本控制系统 Distributed Version Control System - DVCS
什么是版本控制 Revision Control
版本控制最主要的功能就是追踪文件的变更。它将什么时候、什么人更改了文件的什么内容等信息忠实地了已录下来。每一次文件的改变,文件的版本号都将增加。除了记录版本变更外,版本控制的另一个重要功能是并行开发。软件开发往往是多人协同作业,版本控制可以有效地解决版本的同步以及不同开发者之间的开发通信问题,提高协同开发的效率。
Git的工作流程

二:核心概念
.git / 工作区 / 暂存区 / 本地仓库 / 远程仓库
关键词
- 工作区
workspace - 仓库
Repository
一个仓库包括了所有的版本信息、所有的分支和标记信息。在Git中仓库的每份拷贝都是完整的。仓库让你可以从中取得你的工作副本 - 暂存区
Index/Stage - 远程仓库
Remote - 分支
Branches
一个分支意味着一个独立的、拥有自己历史信息的代码线(code line)。你可以从已有的代码中生成一个新的分支,这个分支与剩余的分支完全独立。默认的分支往往是叫master。用户可以选择一个分支,选择一个分支执行命令git checkout branch. - 标记
tags
一个标记指的是某个分支某个特定时间点的状态。通过标记,可以很方便的切换到标记时的状态
.git 目录就是本地仓库 .git 所在的根目录称为 工作区
理论
工作区就是开发时创建的那个目录.git目录下index 文件 暂存区会记录git add 添加的信息。可以使用git ststus 查看暂存区的状态
如果需要提交到远程仓库,那么git add 提交到暂存区,交给Git管理
三:配置
git最小配置
:::info git config :::
配置Git
# 设置git config --global user.name "taoya7"git config --global user.email "569781231@qq.com"# 取消设置$ git config --global --unset user.name$ git config --global --unset user.email因为Git是分布式版本控制系统,所以需要配置这些基本参数global 有什么作用?Global的三个作用域git config --local # 只对某个仓库有效git config --global # 对当前用户所有仓库有效git config --system # 对系统所有用户有效显示config的配置 --listgit config --list --localgit config --list --globalgit config --list --system
λ git config --list --localcore.repositoryformatversion=0core.filemode=falsecore.bare=falsecore.logallrefupdates=truecore.ignorecase=truegui.wmstate=normalgui.geometry=1113x587+64+102 219 266λ git config --list --globaluser.email=569781231@qq.comuser.name=taoya7winupdater.recentlyseenversion=2.24.1.windows.2
其实配置都是在保存一个文件
cat ~/.gitconfig➜ cat ~/.gitconfig[user]email = 569781231@qq.comname = taoya7......
查看Git信息
# 查看系统配置git config --list# 查看用户配置cat ~/.gitconfig# 查看当前项目的git配置cat .git/config# 查看暂存区的文件git ls-files# 查看本地git历史git reflog# 查看当前Head的指向cat .git/HEAD
四:操作
创建一个版本库
版本库又称为仓库repository 。这个仓库的所有文件都可以被Git管理起来。
每个文件的删除、修改、创建。Git都能跟踪。以便任何时间都可以追踪|或者还原
# 创建一个目录当作仓库mkdir Liniscd Linis# 把当前目录变成Git可以管理的仓库git init将文件添加到版本库# git add 告诉Git 把文件添加到仓库git add main.txt# git commit 把文件提交给仓库git commit -m "Hello Git"~ git commit -m "Hello Git"[master (root-commit) 6a5bf33] Hello Git1 file changed, 1 insertion(+)create mode 100644 main.txt
注释git commit -m 是后面的输入是本次提交的说明。然后会提示1个文件被改动。 插入了一行内容
认识工作区与暂存区
工作目录经过git add .将数据存入暂存区。然后通过git commit 控制历史记录
📁 Git文件状态
git status
hanges not staged for commit- 表示得大概就是工作区有该内容,但是缓存区没有,需要我们
git add
- 表示得大概就是工作区有该内容,但是缓存区没有,需要我们
Changes to be committed- 一般而言,这个时候,文件放在缓存区了,我们需要
git commit
- 一般而言,这个时候,文件放在缓存区了,我们需要
nothing to commit, working tree clean- 这个时候,我们将本地的代码推送到远端即可
git log - 查看版本历史
git log
默认普通查询
git log –-oneline```shell λ git log —oneline
afbee3a (HEAD -> master) main.css d3f0d1f index.html
- `git log -n[number]`查看number条数的log- `git log –-all`<br />查看所有分支log```shellλ git log --all --oneline072a8cb (HEAD -> test) main.jsafbee3a (master) main.cssd3f0d1f index.html
git --graph
图形显示log变化 ```shell λ git log —graph —all
- commit 072a8cb0778417353a1c9e199e2298c63bc308b8 (test) | Author: taoya7 569781231@qq.com | Date: Thu Mar 12 21:20:28 2020 +0800 | | main.js |
- commit afbee3ab54945090d73f12ac7d0ceb9d73cb4a66 (HEAD -> master) | Author: taoya7 569781231@qq.com | Date: Thu Mar 12 21:17:53 2020 +0800 | | main.css |
commit d3f0d1ff775050cbe08408d954df2ef8ebd0bb65 Author: taoya7 569781231@qq.com Date: Thu Mar 12 21:11:16 2020 +0800
index.html
```
$ git log --oneline--grep="关键字"--graph--all--author "username"--reverse-num-p--before= 1 day/1 week/1 "2019-06-06"--after= "2019-06-06"--stat--abbrev-commit--pretty=format:"xxx"
认识.git目录

HEAD 文件
HEAD告诉我们工作在哪个分支上。
λ cat HEADref: refs/heads/master
可以看到指向master分支
如果我们切换了分支 就会指向切换的分支
λ git checkout testSwitched to branch 'test'λ cat .git\HEADref: refs/heads/test
config
λ git config --local user.name Linλ git config --local user.email 3335215292@qq.comλ cat .git\config # 查看config内容[core]repositoryformatversion = 0filemode = falsebare = falselogallrefupdates = trueignorecase = true[user]name = Linemail = 3335215292@qq.com
可以看到config记录了当前用户配置信息
验证一下是否正确
λ git config --local user.name # 查看Linλ git config --local user.name linis # 修改λ cat .git\config # 再次验证[core]repositoryformatversion = 0filemode = falsebare = falselogallrefupdates = trueignorecase = true[user]name = linisemail = 3335215292@qq.com
refs
λ cat refs├─heads # 显示当前分支└─tags # 显示当前的标签/里程碑
λ ls heads # 看一下heads目录有什么。显示了当前分支文件master test

λ cat master # 可以看到f5ce33184c88030368c3ceb6c83f2ca7b3ce7b21λ cat test072a8cb0778417353a1c9e199e2298c63bc308b8
看下对象类型
λ git cat-file -t master # 参数-t 查看类型commit # commit 类型λ git branch -av # 再看一看分支信息* master f5ce331 Jstest 072a8cb main.js所以很长的字符串哈希指向分支
objects
可以看到有两个字符组成的目录有很多
λ cd 8d # 进入目录λ ls # 查看信息935a675437050658c06d1b375732b184694893λ git cat-file -p 8d935a6754370506 # 目录名称+查看的信息 参数-p 查看内容100644 blob 190a18037c64c43e6b11489df4bf0b9eb6d2c9bf index.htmlλ git cat-file -t 8d935a6754370506 # 查看类型tree # 树类型好像发现了什么,我们再次查看这个哈希内容,发现index.html的内容呈现了出来git cat-file -p 190a18037c64c43e6b11489df4bf0b9eb6d2c9bf
核心对象: commit / tree / blob对象

git commit是我们经常使用的命令那么提交究竟做了什么呢?
一个commit对应一颗树,存放了本项目所有文件夹与文件的快照。文件夹是tree对象,具体的文件是blob对象。
git log # 查看历史记录commit afbee3ab54945090d73f12ac7d0ceb9d73cb4a66 # 字符串哈希Author: taoya7 <569781231@qq.com> # 作者 - 邮箱Date: Thu Mar 12 21:17:53 2020 +0800 # 提交时间main.css # 提交的内容λ git cat-file -p afbee3ab54945090d73f12ac7d0ceb9d73cb4a66 # 查看commit对象的哈希tree 11ac1ba9bec772002a5b62bb279b52426c71ec15parent d3f0d1ff775050cbe08408d954df2ef8ebd0bb65author taoya7 <569781231@qq.com> 1584019073 +0800committer taoya7 <569781231@qq.com> 1584019073 +0800main.css# 再次查看一下这个tree树里面有什么λ git cat-file -p 11ac1ba9bec772002a5b62bb279b52426c71ec15100644 blob 190a18037c64c43e6b11489df4bf0b9eb6d2c9bf index.html100644 blob cae4b4e8368d2825a81a42e4a68fb2cbc38d4257 main.css # 可以看到提交的内容---# 查看blob文件的内容λ git cat-file -p cae4b4e8368d2825a81a42e4a68fb2cbc38d4257body{backgroun:red}λ git cat-file -p 190a18037c64c43e6b11489df4bf0b9eb6d2c9bf123
哇! 神奇!
例子

分离头指针
Head 本来指向分支。 但是如果我们当他指向一个commit。 本意就是当前工作在一个没有分支的状态下。
解决方案:
如果想要修改,请与分支挂钩。在分支的基础上,对分支进行变更。
示例
λ git branch -av # 可以看到目前在master分支* master f5ce331 Jstest 072a8cb main.jsλ git logcommit f5ce33184c88030368c3ceb6c83f2ca7b3ce7b21 (HEAD -> master) # 看到HEAD 指向master分支Author: taoya7 <569781231@qq.com>Date: Thu Mar 12 21:31:53 2020 +0800Js.........
如果突然我们对某个commit感兴趣。那么进行如下操作
git checkout afbee3ab54945090Note: switching to 'afbee3ab54945090'. # 正在切换You are in 'detached HEAD' state. You can look around, make experimentalchanges and commit them, and you can discard any commits you make in thisstate without impacting any branches by switching back to a branch.正在处于分离头指针状态。你可以做一些变更然后产生commit 或者你也可以把生成的commit丢弃掉。If you want to create a new branch to retain commits you create, you maydo so (now or later) by using -c with the switch command. Example:git switch -c <new-branch-name>Or undo this operation with:git switch -Turn off this advice by setting config variable advice.detachedHead to falseHEAD is now at afbee3a main.css
λ git branch # 查看分支* (HEAD detached at afbee3a)mastertest# 那么我们做一些修改然后提交它λ git commit -am "Bg to #000"# 然后看一下logλ git logcommit bf6cd825a86d47f4265e99e6320c29169ad55f72 (HEAD) # 看到了HEAD 没有与分支绑定在一起Author: linis <3335215292@qq.com>Date: Thu Mar 12 22:48:16 2020 +0800Bg to #000# 那么我们现在切换一下分支λ git checkout masterWarning: you are leaving 1 commit behind, not connected toany of your branches:bf6cd82 Bg to #000If you want to keep it by creating a new branch, this may be a good timeto do so with:git branch <new-branch-name> bf6cd82Switched to branch 'master'看到git提示了一个warning信息。git log # 并没有出现刚才哪个log那么我们如何解决呢?git branch <new-branch-name> bf6cd82 # 我们为他再创建一个分支# 然后查看一下loggit log --all
解决
➜ Git git:(c41b1f4) git branch new c41b1f4
😳 如何修改commit的message
最新的commit的变更
λ git commit --amend
老旧的commit的变更
如果想要修改此commit -i 后面的哈希是父commit哈希
git rebase -i [字符串哈希]
:合并commit
对多次的commit合并成一个commit
git rebase -i [字符串哈希]
然后将pick修改为s
λ git rebase -i d3f0d1ff775050
[detached HEAD 7c90c36] main.css
Author: taoya7 569781231@qq.com
Date: Thu Mar 12 21:17:53 2020 +0800
3 files changed, 3 insertions(+)
create mode 100644 main.css
create mode 100644 main.js
create mode 100644 master)
Successfully rebased and updated refs/heads/master.
如何把间隔几个的commit合成
先看一下git log
C:\Users\Administrator\Desktop\test (master -> origin)
λ git log
commit 60e3d51a9ce25c14e672c2b4f7504bed7a6d7b12 (HEAD -> master)
Author: linis 3335215292@qq.com
Date: Thu Mar 12 23:21:58 2020 +0800
d
commit e5b652a75418811b3ad2b5b98d5f6a8d169d8158
Author: linis 3335215292@qq.com
Date: Thu Mar 12 23:21:42 2020 +0800
c
commit 51624d6dd84b162ddc3d38e4950f3f2fbf6ac410
Author: linis 3335215292@qq.com
Date: Thu Mar 12 23:21:18 2020 +0800
b
commit 923807fc8e3eeaede9eeb510c93bee070f3619b4
Author: linis 3335215292@qq.com
Date: Thu Mar 12 23:20:59 2020 +0800
a<br />可以看到一共四次提交<br />现在的要求是把a,d 整理成一个
- 把第一个commit保留下来 pick
- 把最后一个commit 修改为s 放在第一个后面
git rebase -i 923807fc8e # 此处a的commit
以前的信息
pick 51624d6 b
pick e5b652a ‘c’
pick 60e3d51 d
Rebase 923807f..60e3d51 onto 923807f (3 commands)
—-
# 修改后的信息
pick 923807f 整理后的a
s 60e3d51
pick 51624d6 b
pick e5b652a ‘c’
:回退reset
现在修改一下刚才创建的文件。
然后查看一下状态git status - 查看仓库的状态
可以通过git status得知哪些文件被修改过
~ git status
On branch master
Changes not staged for commit:
(use “git add
(use “git restore
modified: main.txt
no changes added to commit (use “git add” and/or “git commit -a”)
可以得出信息:
- 当前的分支master
- 有改变的文件但是没有提交
modified。 Git 已经认识这个文件了,它不是个新文件,但它有了一些改动。所以虽然状态的显示有点不同,但处理方式还是一样的
git diff- 查看修改的变化
~ git diff
diff —git a/main.txt b/main.txt
index 56b6510..699568b 100644
—- a/main.txt
+++ b/main.txt
@@ -1 +1,2 @@
-11111
\ No newline at end of file
+11111
+22222
\ No newline at end of file
git log- 查看历史记录
~ git log
commit 8c793a7aca934a6980a27fb2694bc17f19b54a62 (HEAD -> master)
Author: taoya7 569781231@qq.com
Date: Wed Dec 18 19:48:11 2019 +0800
2
commit 6a5bf332baf8edf82fba4d7b71e7dd78827f0f4f - 注释 这是版本号
Author: taoya7 569781231@qq.com
Date: Wed Dec 18 19:37:19 2019 +0800
Hello Git<br />显示了最近到最远的提交日志
版本记录HEAD
?> 回退版本
首先要让Git知道哪个当前的版本。Git中用Head 代表当前版本。上一个版本就是HEAD^ 上上一个版本就是HEAD^^
简洁写法HEAD~100
git reset —hard HEAD^ # 回退到上个版本
例子
~ git log
commit 8c793a7aca934a6980a27fb2694bc17f19b54a62 (HEAD -> master)
Author: taoya7 569781231@qq.com
Date: Wed Dec 18 19:48:11 2019 +0800
2
commit 6a5bf332baf8edf82fba4d7b71e7dd78827f0f4f
Author: taoya7 569781231@qq.com
Date: Wed Dec 18 19:37:19 2019 +0800
Hello Git<br /> <br />~ git reset --hard HEAD~1
HEAD is now at 6a5bf33 Hello Git
?> 回退到具体的版本号git reset --hard ____版本号___
?> 后悔药
用git reflog查看命令历史,以便确定要回到未来的哪个版本
~ git reflog
6a5bf33 (HEAD -> master) HEAD@{0}: reset: moving to HEAD~1
8c793a7 HEAD@{1}: reset: moving to HEAD
8c793a7 HEAD@{2}: reset: moving to HEAD
8c793a7 HEAD@{3}: reset: moving to HEAD
8c793a7 HEAD@{4}: commit: 2
6a5bf33 (HEAD -> master) HEAD@{5}: commit (initial): Hello Git
删除文件
一般情况下,通常在文件管理器中把没用的文件删了。这个时候Git知道你删除了文件。
工作区和版本库就不一致了。git status 会立刻知道你哪些文件被删除了
git status
C:\Users\Administrator\Desktop\try>git status
On branch master
Changes not staged for commit:
(use “git add/rm
(use “git restore
deleted: main.txt
no changes added to commit (use “git add” and/or “git commit -a”)
所以那么我们如何获取刚才已经删除掉的文件呢?
git chechout — main.txt
!> git checkout
其实是用版本库里的版本替换工作区的版本。无论工作区是修改还是删除,都可以还原
文件信息
显示当前分支的版本历史
$ git log
λ git log
commit 12272f264a5d5b7af54a51f7ad707622dc00ce2d (HEAD -> master, tag: v1.0)
Author: taoya7 569781231@qq.com
Date: Tue Mar 10 16:43:29 2020 +0800
''Firsy<br /># 显示commit历史 以及每次commit 发生变更的文件<br />git log --stat<br /># 搜索提交历史,根据关键词<br />git log -S [keyword]<br /># 显示当前分支的版本历史<br />$ git log<br /># 显示commit历史,以及每次commit发生变更的文件<br />$ git log --stat<br /># 搜索提交历史,根据关键词<br />$ git log -S [keyword]<br /># 显示某个commit之后的所有变动,每个commit占据一行<br />$ git log [tag] HEAD --pretty=format:%s<br /># 显示某个commit之后的所有变动,其"提交说明"必须符合搜索条件<br />$ git log [tag] HEAD --grep feature<br /># 显示某个文件的版本历史,包括文件改名<br />$ git log --follow [file]<br />$ git whatchanged [file]<br /># 显示指定文件相关的每一次diff<br />$ git log -p [file]<br /># 显示过去5次提交<br />$ git log -5 --pretty --oneline<br /># 显示所有提交过的用户,按提交次数排序<br />$ git shortlog -sn<br /># 显示指定文件是什么人在什么时间修改过<br />$ git blame [file]<br /># 显示暂存区和工作区的差异<br />$ git diff<br /># 显示暂存区和上一个commit的差异<br />$ git diff --cached [file]<br /># 显示工作区与当前分支最新commit之间的差异<br />$ git diff HEAD<br /># 显示两次提交之间的差异<br />$ git diff [first-branch]...[second-branch]<br /># 显示今天你写了多少行代码<br />$ git diff --shortstat "@{0 day ago}"<br /># 显示某次提交的元数据和内容变化<br />$ git show [commit]<br /># 显示某次提交发生变化的文件<br />$ git show --name-only [commit]<br /># 显示某次提交时,某个文件的内容<br />$ git show [commit]:[filename]
远程仓库
GitHub这个网站就是提供Git仓库托管服务的,所以,只要注册一个GitHub账号,就可以免费获得Git远程仓库
本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要一点设置
- 创建SSH Key
ssh-keygen -t rsa -C “569781231@qq.com”
- 找到公钥
.ssh/
- 登录GitHub设置里 ,将公钥给设置上
从远程库克隆
首先知道仓库的地址,然后使用git clone ___ 就可以克隆了。 Git支持多种协议https ssh gitgit clone 仓库地址
🏷️ 分支 - Branch
分支有什么用?
git中默认的分支是master 。单分支的开发不满足我们的要求。
比如 你突然接到一个电话说有个很严重的问题需要紧急修补。 你将按照如下方式来处理:
- 切换到你的线上分支(production branch)。
- 为这个紧急任务新建一个分支,并在其中修复它。
- 在测试通过之后,切换回线上分支,然后合并这个修补分支,最后将改动推送到线上分支。
- 切换回你最初工作的分支上,继续工作。
创建分支
创建一个分支并留在当前分支
git branch [branchName]
创建一个分支,并切换到该分支
git checkout -b [branch]
切换到上一个分支
git checkout -
删除分支
git branch -d [branchName]
删除远程分支
git push origin --delete [branch-name]git branch -dr [remote/branch]
修改分支
git branch -m oldName newName
查看分支
列出所有本地分支
git branch
-r 列出所有远程分支-a 列出所有本地分支和远程分支
切换分支
• V1git checkout branckName• V2git switch -c dev
分支合并
当前分支与指定分支合并
注意,合并前,俩个版本都要提交到本地版本库
git merge branchName
快速创建分支切换分支
git checkout -b branchName
下载指定分支文件
git clone -b branchName git_pass
实践
# 创建并切换一个分支~ git checkout -b devSwitched to a new branch 'dev'# 查看当前的分支~ git branch* devmaster# 对文件进行操作中...git add .git commit -m "xxx"git add .git commit -m "xxx"# 切换分支mastergit checkout master
查看刚才的文件发现刚才添加的内容不见了。
- 因为刚才的提交都是dev分支上的操作
- 当前master的分支并没有变化
~ git merge devUpdating 8c793a7..79e13c0Fast-forwardmain.txt | 4 +++-1 file changed, 3 insertions(+), 1 deletion(-)git merge 可以合并指定分支到当前分支。
🏷️ fetch指令

将远程仓库内容更新到本地
git fetch origin <branch-name>:<local-branch-name>
- 一般而言,这个origin是远程主机名,一般默认就是origin。
branch-name你要拉取的分支local-branch-name通常而言,就是你本地新建一个新分支,将origin下的某个分支代码下载到本地分支。
将某个远程主机的更新,全部取回本地
git fetch <远程主机名>
取回的是所有的分支更新,如果想取回特定分支,可以指定分支名👇
git fetch <远程主机名> <分支名>
- 当你想将某个分支的内容取回到本地下某个分支的话,如下👇
git fetch origin :<local-branch-name>// 等价于👇git fetch origin master:<local-branch-name>
🏷️ 撤退

- 撤销工作区修改
- git checkout —
- 暂存区文件撤销 (不覆盖工作区)
- git reset HEAD
- 版本回退
- git reset —(soft | mixed | hard ) < HEAD ~(num) > |
| 指令 | 作用范围 |
|---|---|
| —hard | 回退全部,包括HEAD,index,working tree |
| —mixed | 回退部分,包括HEAD,index |
| —soft | 只回退HEAD |
🏷️ 标签管理-tag
tag 是一个让人容易记住的有意义的名字,它跟commit绑定在一起
标签的作用主要是用来做版本回退的。
创建标签
git tag <tagName>
# 查看分支信息~ git branch# 切换分支git checkout master# 创建标签git tag v1.0默认是在最新提交的commit上的。
查看标签git tag - 查看所有的标签
~ git tagv1.0git show [tagname] 查看标签信息git show v1.0commit 79e13c07d4f0355b52e74ee69c2d503cc96ca89a (HEAD -> master, tag: v1.0, dev)Author: taoya7 <569781231@qq.com>Date: Wed Dec 18 21:03:28 2019 +08004diff --git a/main.txt b/main.txtindex 7ec99b8..720ac69 100644--- a/main.txt+++ b/main.txt@@ -1,3 +1,4 @@1111122222-33333\ No newline at end of file+33333+44444\ No newline at end of file
创建tag
新建一个tag在当前commitgit tag [tag]
删除本地tag
git tag -d [tag-name]
指定标签信息
git tag -a <tagName> -m "xxx"
删除标签git tag -d 标签名
git tag -d v1.0Deleted tag 'v1.0' (was 79e13c0)
根据标签推送
git push origin
- 命令
git push origin可以推送一个本地标签; - 命令
git push origin --tags可以推送全部未推送过的本地标签; - 命令
git tag -d可以删除一个本地标签; - 命令
git push origin :refs/tags/可以删除一个远程标签。自定义Git
忽略特殊文件上传 - gitignore
有些时候,你必须把某些文件放到Git工作目录中,但又不能提交它们
.gitignore 文件
在Git工作区的根目录下创建一个特殊的.gitignore文件。.gitignore是 Git 仓库中的一个特殊的文本文件,它里面记录了你不希望提交到仓库的目录和文件的名称或类型
忽略文件的原则是:
- 忽略操作系统自动生成的文件,比如缩略图等;
- 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的
.class文件; - 忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。
共享仓库多人协作开发
Clone
上传代码push
下拉代码pull
冲突
解决冲突五:例子
上传本地项目到Github
- 创建本地项目
建立本地仓库
git init//把这个目录变成Git可以管理的仓库git add README.md//将文件添加到仓库git add .//不但可以跟单一文件,还可以跟通配符,更可以跟目录。一个点就把当前目录下所有未追踪的文件全部add了git commit -m "提交说明"//把文件提交到仓库git remote add origin [https://github.com/taoya7/MyNote.git](https://github.com/taoya7/MyNote.git)//关联远程仓库git push -u origin master//把本地库的所有内容推送到远程库上git initgit add *git commit -m [message]git remote add origin git@...com# 首次推送需要加上-u,之后推送就可以直接git push origin master# origin是远程Git名字,这个可以自己定义,不过一般是用origin罢了# master是默认的分支,如果不在master分支提交需要写清楚分支名称git push -u origin master
删除在Github上的文件
如果此文件夹已被加入git追踪,那么删除方法很简单,只需要将此文件夹删掉,然后提交一下就可以了六:常用命令
七: 开发工具使用Git
Ⅷ:周边插件
VSCode
GitLens — Git supercharged
- Git History

