git 常用命令
git 常用命令
作者:wind-zhou
邮箱:zhouzheng5210@163.com
学习链接:https://www.liaoxuefeng.com/wiki/896043488029600/
(1)配置账户 (git config)
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
作用:因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。
(2)创建git仓库 (git init)
- 建立文件夹
- 初始化git仓库
$ git init
Initialized empty Git repository in C:/Users/zhouzheng/Desktop/reactDaynote/.git/
(3)添加文档到暂存区 (git add)
在该仓库中创建reactTest.txt文件,并提交至暂存区。
$ git add reactTest.txt
(4)提交暂存区的文件到仓库 (git commit)
$ git commit reactTest.txt -m "第一次提交"
[master (root-commit) 8dac04b] 第一次提交
1 file changed, 3 insertions(+)
create mode 100644 reactTest.txt
为什么Git添加文件需要
add
,commit
一共两步呢?因为
commit
可以一次提交很多文件,所以你可以多次add
不同的文件
版本回退
查看提交历史纪录(git log)
版本回退针对于多次提交多个版本后,所以首先要提交多个版本。
继续重复之前的步骤,就可以将修改后的版本再次提交。
zhouzheng@DESKTOP-LEV8BNU MINGW64 ~/Desktop/reactDaynote (master)
$ git add reactTest.txt
zhouzheng@DESKTOP-LEV8BNU MINGW64 ~/Desktop/reactDaynote (master)
$ git commit reactTest.txt -m "第二次提交"
[master 4f5d789] 第二次提交
1 file changed, 2 insertions(+), 1 deletion(-)
此时查看提交记录:
$ git log
commit 4f5d789fce44dfdb135a5cd2915bd136071f05d5 (HEAD -> master)
Author: wind-zhou <zhouzheng5210@163.com>
Date: Thu Apr 8 14:49:04 2021 +0800
第二次提交
commit 8dac04b94ab43b2f63f27df8ed24c23bb106512a
Author: wind-zhou <zhouzheng5210@163.com>
Date: Thu Apr 8 14:42:10 2021 +0800
第一次提交
回退到之前的记录
(1)单步回退
$ git reset --hard HEAD^
HEAD is now at 8dac04b 第一次提交
这就 跳回了上个版本。
上一个版本就是
HEAD^
,上上一个版本就是HEAD^^
(2)指定版本id回退
通过commit id值回退
$ git reset --hard 4f5d
HEAD is now at 4f5d789 第二次提交
这样就又跳了回来。
不过前提是你得记住上次版本的commit id,因为你版本回退后,使用git log 就看不到被撤销版本的id了。
撤销操作
(1) 将工作区撤销(git checkout -- file)
$ git checkout -- reactTest.txt
(2)将暂存区撤销 (git restore --staged file )
$ git add index.html //将新文件加入暂存区
$ git restore --staged index.html //撤销暂存区
若已经提交到仓库,则只能版本回退。
远程仓库
添加秘钥
由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要一点设置:
第1步:创建SSH Key。
在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa
和id_rsa.pub
这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
$ ssh-keygen -t rsa -C "youremail@example.com"
第2步:登陆GitHub,添加SSH key
打开“Account settings”,“SSH Keys”页面:
然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub
文件的内容:
为什么GitHub需要SSH Key呢?
因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。
关联远程仓库
将本地仓库和远程仓库相关联:
git remote add origin git@github.com:wind-zhou/reactDaynote.git
查看当前关联的仓库
git remote -v
删除远程库
$ git remote rm origin
推送内容到远程仓库
$ git push -u origin main
注: 参数说明
第一次添加时需要加上-u 参数,之后就可以不用加了
main是指推送到远程的主分支。
关联一个远程库时必须给远程库指定一个名字,
origin
是默认习惯命名;
从远程仓库拉取内容
git clone git@github.com:wind-zhou/reactDaynote.git
如果远程仓库有一个dev分支,则我们在本地可能需要在clone后根据远程的dev生成本地的dev
git checkout -b dev origin/dev
分支管理
创建分支
创建名为dev的分支
git branch dev
切换分支
切换到 dev分支
git checkout dev
上面的两步操作可以合并:
首先,我们创建
dev
分支,然后切换到dev
分支:$ git checkout -b dev
查看当前的分支:git branch
注:新版本中,可以使用 git switch master
来切换分支,更有语义化。
合并分支
下面在主分支main上合并子分支dev
git merge dev
删除分支
合并完之后就可以删除掉子分支。
git branch -d dev
总结篇——git本地仓库上传更新到github
一、将需要上传的文件放到一个新建的文件夹下
二、右击找到Git Bash Here,弹出git命令框
三、初始化git
$git init
四、将文件添加到本地仓库
$git add --all
五、提交到本地仓库
$git commit -m "首次提交"
六、与GitHub上的分支建立链接
$git remote add origin https://github.com/*****/shop.git
七、将刚刚提交的文件推送到GitHub上
$git pull --rebase origin master
$git push -u origin master -f