git高级命令

git高级

git 版本管理

查看git中的版本日志

除了

git log

查看本分支的日志外,还可以使用

git reflog

更加精简的查看所有分支的所有操作记录(包含已被删除的commit记录操作)

历史版本切换

git reset --hard 03dd774

03dd774是回退目标的索引值,通过日志获取。

git分支管理

分支:由每次提交的代码,串成的一条时间线
在这里插入图片描述

分支使用场景

  • 开发周期长
  • 尝试性模块开发

使用分支,可将工作从开发主线中分离,以免影响主线的开发

操作分支的基本动作

  • 创建新分支
  • 切换分支
  • 合并分支
  • 删除分支

创建分支

git branch 分支名

查看使用分支

git status

查看所有分支

git branch

切换分支

git checkout 分支名

查看当前分支的文件

ls

合并分支

git merge 分支名

删除分支

git branch -d 分支名

在这里插入图片描述

git远程仓库

远程仓库工作流程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5o8o3UwU-1633962182306)(img\11.png)]

常用的远程仓库平台

  • GitHub
  • 码云(Gitee)

远程仓库操作

  • 先有本地后有远程
  • 先有远程后又本地
将本地仓库代码推送到远程仓库

在推送之前,需要先配置SSH公钥

生成ssh公钥步骤

  1. 设置git账户
  2. 生成ssh公钥
  3. 设置账户公钥
  4. 公钥测试

查看账户,键入

git config user.name

查看邮箱

git config user,email

设置全局账户

git config --global user.name "账户名"

设置全局邮箱

git config --global user.email "邮箱"

查看是否生成过ssh公钥

cd ~/.ssh

生成ssh公钥

ssh-keygen -t rsa -C "邮箱"

查看生成的ssh公钥

cat ~/.ssh/id_rsa.pub

将生成的公钥设置到远程仓库中

设置好后,本地测试

ssh -T git@gitee.com

将代码推送到远程仓库

为远程仓库的url,自定义仓库名称

git remote add 自定义远程仓库名称 远程仓库url

推送

git push -u 仓库名称 分支名

在推送时,需要将gitee的邮箱开放,不然回报异常:

$ git push -u study-demo master
Enumerating objects: 12, done.
Counting objects: 100% (12/12), done.
Delta compression using up to 8 threads
Compressing objects: 100% (6/6), done.
Writing objects: 100% (12/12), 934 bytes | 311.00 KiB/s, done.
Total 12 (delta 0), reused 0 (delta 0), pack-reused 0
remote: Powered by GITEE.COM [GNK-6.1]
remote: error: GE007: Your push would publish a private email address.
remote: You can make your email public or disable this protection by visiting:
remote: https://gitee.com/profile/emails
remote: error: hook declined to update refs/heads/master
To https://gitee.com/xxx/xxx.git'
 ! [remote rejected] master -> master (hook declined)
error: failed to push some refs to 'https://gitee.com/xxx/xxx.git'

解决:

在gitee找到设置,在邮箱管理中开放邮箱。

将远程仓库中的代码克隆到本地仓库

步骤

将远程仓库中的代码,克隆到本地仓库

git clone 仓库地址

创建新文件,添加并提交到本地仓库

推送至远程仓库

项目拉更行

git pull 远程仓库名 

代码冲突

当发生冲突时,先要将远程仓库的代码拉取下来,修改冲突。

查看冲突内容

cat 冲突的文件

<<<<<<<<<<<<<<<<<和>>>>>>>>>>中间内容就是冲突部分

在每次执行push之前都需要先执行pull,当出现你版本比远程仓库代码的版本低,是推送不上去的,除非。。。。你这么做了

git push -f 远程仓库 分支

到本地仓库

推送至远程仓库

项目拉更行

git pull 远程仓库名 

代码冲突

当发生冲突时,先要将远程仓库的代码拉取下来,修改冲突。

查看冲突内容

cat 冲突的文件

<<<<<<<<<<<<<<<<<和>>>>>>>>>>中间内容就是冲突部分

在每次执行push之前都需要先执行pull,当出现你版本比远程仓库代码的版本低,是推送不上去的,除非。。。。你这么做了

git push -f 远程仓库 分支

非特殊情况,千(这)万(样)不(做)要(没)这(啥)么(毛)做(病)!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值