git命令

目录
一 参考资料
二 git 配置&检查
1.配置
2.检查
三 命令使用
1.提交
2.版本回退
3.跟踪对比
4.撤销修改
5.分支管理
四 使用流程图
五 常见问题
一 参考资料
参考资料1

git信息配置

二 git 配置&检查
1.配置
git 提供了一个叫做 git config 的工具,专门用来配置或读取相应的工作环境变量。

环境变量存放的位置:

/etc/gitconfig 文件:系统中对所有用户都普遍适用的配置。若使用 git config 时用 --system 选项,读写的就是这个文件。

~/.gitconfig 文件:用户目录下的配置文件只适用于该用户。若使用 git config 时用 --global 选项,读写的就是这个文件。

设置用户名和邮件地址后,在以后的每一个 Git 提交中都会使用这些信息,它们会写入到你的每一次提交中,不可更改

git config --global 进行全局安装 ,之后无论在该系统上做任何事情, Git 都会使用那些信息,若想要针对某个项目使用特定信息时,可在该项目目录下进行无–global命令来配置

git config --global user.name “liulina11” — 设置用户姓名

git config --global user.email “liulina11@meituan.com” — 设置邮箱

git config --local 为本地的工程里面添加单独的配置,可以使用不同的用户名和密码

git config 和 git config --local作用相同

git config --worktree

// 待补充

2.检查
若想要检查git配置,可以使用 git config --list 命令来列出所有 Git 当时能找到的配置

图片中可以看到,红线部分就是第一步我们所配置的个人信息

若想针对某一项进行查看可通过 git config : 来检查 Git 的某一项配置

例如: git config user.name

git remote -v

查看远程库的信息

三 命令使用
1.提交
git add . & git add -p . (添加文件到暂存区,以便commit)

 git add -p .增加了“补丁模式”的变化,这是一个内置的命令行程序。它遍历了每个更改,并要求确认是否要执行它们

当前文件已被加载到缓存去当中,这个时候文件已经可以开始追踪文件的变化。所谓 追踪也就是当文件进行修改时,git status命令就可以捕获到文件的变化信息
在这里插入图片描述

git commit -m ‘提交备注’

将文件提交到本地库

git commit -a -m “提交说明”

对那些被修改的文件单尚未暂存和提交的文件进行暂存和提交。(注意:对未暂存的新增文件无效。)

git status 查看相关文件的状态

git status -s 来查看简写的状态
在这里插入图片描述

M - 被修改,A - 被添加,D - 被删除,R - 重命名,?? - 未被跟踪 等等

git restore --staged <file文件路径> 撤销缓存

例如: git restore --staged client/pages/matrix/index.js
在这里插入图片描述

git stash [save message] 参考链接

stash命令可用于临时保存和回复修改,可跨分支

git stash pop //取出修改或者取出暂存

git pull 从远程拉取代码到本地

git push 将本地仓库已经提交的内容发布到远端

2.版本回退
git log 查看提交历史

不传入任何参数的默认情况下,git log 会按时间先后顺序列出所有的提交,最近的更新排在最上面
在这里插入图片描述

git log --patch

会显示每次提交所引入的差异(按 补丁 的格式输出)

也可以限制显示的日志条目数量,例如: 使用 -1选项来只显示最近的一次提交:

git log -p -1
在这里插入图片描述

git log --stat

可以看到每次提交的简略统计信息
在这里插入图片描述

git log --pretty=oneline

可以使用不同于默认格式的方式展示提交历史

比如 oneline 会将每个提交放在一行显示,在浏览大量的提交时非常有用
在这里插入图片描述

另外还有 short,full 和 fuller 选项,它们展示信息的格式基本一致,但是详尽程度不一

git log --pretty=short git log --pretty=full git log --pretty=fuller

2.git reset 回退版本

当前版本–HEAD, 上上一个版本–HEAD^^, 往上100个版本–HEAD~100

未回退之前的信息:
在这里插入图片描述

git reset --hard HEAD^
在这里插入图片描述

git reflog 用来记录操作的每一次命令
在这里插入图片描述

git reset --hard ‘commitId’ 回退版本号再恢复到未回退之前的版本
版本号没必要写全,前几位就可以了,Git会自动去找。当然也不能只写前一两位,因为Git可能会找到多个版本号,就无法确定是哪一个了。
此commitId可以在git reflog 查询出的信息中找到

(git push -f || git push --force )+ origin 分支名称

将回退的当前版本强行推送到远端
在这里插入图片描述

3.跟踪对比
git diff HEAD – 文件名 该命令可以查看工作区和本地版本库里面最新版本的区别

git diff 本地分支 origin/xxxx 该命令可以查看工作区和远程版本库里面最新版本的区别

4.撤销修改
git checkout . & git checkout 文件名 丢弃工作区的修改

丢弃工作区修改有两种情况:

一种是自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态。

已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

git reset HEAD 文件名 把暂存区的修改撤销掉,重新放回工作区

git reset --hard origin/develop //使用指定分支的代码(此处develop)强制覆盖代码

5.分支管理
创建&合并分支

git checkout -b 分支名

git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:

git branch 分支名(查看本地当前分支)& git checkout 分支名 (切换分支)

git checkout -b dev origin/dev 切换并推送到远程

git push origin newbranch:newbranch 新建一个远程分支(同名字的远程分支)

git push --set-upstream origin newbranch 把本地的新分支,和远程的新分支关联

git branch --set-upstream-to=origin/<分支> 本地分支名称

git branch -r 查看远程分支

查看本地分支与远程分支的追踪:git branch -vv

git fetch origin master:dev 从远程拉取分支并创建本地分支

git fetch 更新本地所有分支

git fetch origin 分支名 只更新《分支名》分支到本地

git checkout -b newBrach origin/master 在远程origin/master分支的基础上,创建一个新分支newBrach,并切换到newBranch上

git merge 合并分支

例如:将feature分支合并到master分支:
a、切换到master分支:git checkout master
b、合并分支:git merge feature

在这里插入图片描述

git merge --no-ff -m “目标分支” dev(源分支)

在这里插入图片描述
在这里插入图片描述

git push origin 分支名 本地分支推送到远端

git push -u

举个例子:我要把本地分支mybranch1与远程仓库origin里的分支mybranch1建立关联。

(如果使用下列途径1的话,首先,你要切换到mybranch1分支上(git checkout mybranch1))

两个途径:1. git push -u origin mybranch1 2. git branch --set-upstream-to=origin/mybranch1 mybranch1

这两种方式都可以达到目的。但是1方法更通用,因为你的远程库有可能并没有mybranch1分支,这种情况下你用2方法就不可行,连目标分支都不存在,怎么进行关联呢?所以可以总结一下:git push -u origin mybranch1 相当于 git push origin mybranch1 + git branch --set-upstream-to=origin/mybranch1 mybranch1

git branch -m current-branch-name new-branch-name

git branch -d 分支名 删除本地分支(要强行删除,需要使用大写的-D参数)

git push origin --delete 分支名

删除远程分支

git push origin --delete dev

注意: 在删除远程分支时,同名的本地分支并不会被删除,所以还需要单独删除本地同名分支

合并master代码到本地分支

git pull origin master

Rebase-变基

// 待完善

操作步骤

首先切换到目标(master)分支,git pull拉取最新的分支状态

然后切回local分支

通过git rebase -i 将本地的多次提交合并为一个,以简化提交历史。本地有多个提交时,如果不进行这一步,在git rebase master时会多次解决冲突(最坏情况下,每一个提交都会相应解决一个冲突)

git rebase master 将master最新的分支同步到本地,这个过程可能需要手动解决冲突(如果进行了上一步的话,只用解决一次冲突)

然后切换到master分支,git merge将本地的local分支内容合并到master分支

git push将master分支的提交上传

代码块

git checkout master
​
git pull
​
git checkout local
​
git rebase -i HEAD~2  //合并提交 --- 2表示合并两个
​
git rebase master---->解决冲突--->git rebase --continue
​
git checkout master
​
git merge local
​
git push

四 使用流程图

五 常见问题
1.git status 和 git diff 的区别

// 待补充

2.git fetch 与 git pull的区别

// 待补充

3.git merge & git rebase 原理

// 待补充

4.git merge squash 和 rebase 区别

// 待补充

5.merge 的几种形式

普通的 merge

rebase merge

squash merge

// 待完善

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值