学习Git推荐使用 链接:Learning Git Branching

Git分支简介

链接:git官方教程
在执行命令git init指令的之后就会自动创建一个分支master,master分支和其他的自己新建的分支相比没有什么特殊的地方。这里所说的master是以前的版本有,但是现在为了某种原因,需要在初始化仓库之后,将master强制转换为main,即命令git branch -M main的作用。

关联本地分支与远程分支

链接:git 本地分支与远程分支关联的一种方法
git pull origin master:feature-wxDemo #git pull <远程主机名> <远程分支名>:<本地分支名>

本地分支与远程分支的关系

链接:git的远程分支是干啥的,和本地的有什么区别?

git branch用法总结,查看、新建、删除、重命名

链接:git branch用法总结,查看、新建、删除、重命名

如何看log(这篇博客教会了我学会了如何版本控制与分支的合并)

链接:git 分支讲解
如何合并多个分支:
链接:如何合并多个分支

  • 创建分支:
    git branch <branch name>
  • 查看各个分支所指向的对象
    git log --oneline --decorate
  • 切换分支
    git checkout <branch name>
  • 输出你的提交历史、各个分支的指向以及项目的分支分叉情况。
    git log --oneline --decorate --graph --all
  • 查看所有的现有分支
    git branch -a
  • 查看更改
    git status
  • 查看本地所有分支
    git branch
  • 查看远程所有分支
    git branch -r
  • 查看本地和远程所有分支
    git branch -a
  • 删除分支
    git branch -d <branchname>
  • 删除远程分支
    git branch -d -r <branchname># 使用-D则表示强制删除,相当于 --delete --force
  • 重命名分支
    git branch (-m | -M) <oldbranch> <newbranch># -M表示强制重命名
  • 切换分支,如果分支不存在,先创建一个分支,然后再切换
    git switch -c <branch name>或者git checkout -b

总结走过的坑

使用git pull origin main:main [rejected]报错(non-fast-forward),而使用git push -u origin main提示要pull,该如何解决

提示要pull说明已经有人将远程的代码更改了,但是自己本地的代码还没有同步,所以需要pull过来,但是使用git pull origin main:main会拒绝,直接使用git push 又会报错没有upstream branch,这个时候直接使用git pull origin main即可,不用后面添加一个:main,然后再git push -u origin main,然后就成功了。这里我不用–rebase,是因为不想 将所有的分支合成一条。

使用git pull origin main:main报错

git pull --rebase origin main # 相当于git fetch+git rebase
或者使用 git branch --set-upstream branch-name origin/branch-name这一句就是关联本地分支和远程分支 (已经弃用,使用git push -u origin main)

一个成功的实例

  1. 先init->add->commit->branch -M main->remote add->push -u origin main,之前已经在GitHub上将readme文件更改了,所以这里报错,提示要先pull。
  2. 按照提示,输入git pull origin main,报错fatal: refusing to merge unrelated histories,使用git pull origin main:main情理之中会rejected,找到了一种解决方法:git pull origin main --allow-unrelated-histories,问题更加严重了,使用push还是提示要pull,使用pull说有冲突未解决自动退出。同时分支名由main->main|MERGING。然后查看git status发现有一个文件和远程的一个文件名相同,然后想当然的将本地的那个文件删掉,重新status发现报错更离谱,然后不得不将.git文件删除,重新来
  3. 重新来到了git pull origin main,报错fatal: refusing to merge unrelated histories,但是我本地没有和远程冲突的文件了,所以我重新试了一下git pull origin main --allow-unrelated-histories,这次成功了,而且没有将分支名后面添加|MERGING,重新push,成功。

解决删除问题

git rm --cached -r useless ## -r参数删除目录,如果要删除文件,删除参数-r,将useless改为需要删除的文件名,这里的useless是需要删除的目录名
git commit -m "remove directory from remote repository"
git push

git commit

执行之前:

执行之后:

git branch/git checkout/git checkout -b

Git 的分支也非常轻量。它们只是简单地指向某个提交纪录 —— 仅此而已。
git branch 创建一个新的分支。
git checkout <my_branch>切换到我的已有分支上
git checkout -b <my_branch>新建并切换到my_branch分支上

Learning Git Branching笔记总结相关推荐

  1. Learn Git Branching 记录

    Learning Git Branching 可以说是目前为止最好的教程了,地址 点击右下角问号显示常用命令 1.提交 git commit 提交内容,并把这些修改保存成了一个提交记录 C3,C3 的 ...

  2. Learn Git Branching 学习笔记(移动提交记录篇)

    目录 一.移动提交记录篇 1.Git Cherry-pick 2.交互式rebase Git用法高级篇在上一篇文章中Learn Git Branching 学习笔记(高级篇)_流年--by gone的 ...

  3. Learn Git Branching 学习笔记(高级话题篇)

    目录 一.高级话题篇 1.多分支rebase 2.选择父提交记录 3.纠缠不清的分支 Git的一些技术.技巧与贴士集合在上一篇文章中 Learn Git Branching 学习笔记(Git 技术.技 ...

  4. git 指令学习和熟悉——learn git branching练习笔记

    前言: 在工作中我们用到git系列工具机会很多,也常常需要熟悉git 相关指令,那怎样才能高效学习git指令呢?我们可以通过小游戏learn git branching和菜鸟教程完成学习. 小游戏链接 ...

  5. 博客 | Machine Learning Yearning 要点笔记

    博客 | Machine Learning Yearning 要点笔记 https://mp.weixin.qq.com/s/vsNnuLerxpgFy1NiCA5rsg Andrew Ng. 的新书 ...

  6. pro git读书笔记

    pro git读书笔记 起步 三种区域以及三种状态 Git 项目有三个工作区域的概念:工作目录,暂存区域以及Git 仓库 工作目录是我们用来修改文件的目录,是对项目的某个版本独立提取出来的内容 暂存区 ...

  7. ​​​​​​​Git学习笔记与IntelliJ IDEA整合

    2019独角兽企业重金招聘Python工程师标准>>> Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:htt ...

  8. Git 学习笔记:自定义Git(完)

    前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...

  9. Git学习笔记:标签管理以及GItHub

    前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...

  10. Git学习笔记:分支管理3

    前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...

最新文章

  1. 分组表管理之获取用户组表列表数据
  2. SAP PM 初级系列4 - 定义功能位置的结构标识
  3. nullptr/nullptr_t
  4. POJ 1860: Currency Exchange 【SPFA】
  5. 进程管理—进程描述符(task_struct)
  6. 薪资是跳出来的,不是涨出来的!
  7. 计算机网络在实践中的应用,计算机网络技术及在实践中的应用
  8. 电路 第五版 第一章 电路模型和电路定律
  9. NIPS中稿,聊聊科研!
  10. crt是什么意思 windows编程_从零开始,学习windows编程 - hello.c的疑惑!
  11. xbox one 手柄按键测试软件,Xbox One手柄映射工具(ReWASD)
  12. 读文献、写论文时,有什么好用的软件或网站推荐?
  13. 调用百度API 实现车型识别
  14. windows hotkey
  15. dialog层级关系
  16. 性能优化之节流(throttling)与防抖(debounce)
  17. 车间生产管理系统(工厂数字化管理系统软件)
  18. Intel体系MMX指令指令说明
  19. iOS 利用openCV拼接照片实现拍摄全景照片
  20. 机器学习中参数模型和非参数模型理解

热门文章

  1. 传奇服务器攻城文件,仿盛大传奇沙巴克攻防战与比奇怪物攻城说明
  2. 最适合程序员转行的10大职业
  3. 转:移动建站工具(一):分秒钟将Web网站移动化
  4. jQuery的选择器大全
  5. Nature | 基于深度神经网络和改进的片段测序方法从头预测蛋白质结构
  6. 长沙IT培训学校有哪些?IT培训选线上还是线下?
  7. 基于单片机的单行道红绿灯仿真
  8. 基于C语言制作的超级玛丽小游戏
  9. 两款C#开源单文件串口调试工具的源码库
  10. Codeforces Round #322 (Div. 2) A. Vasya the Hipster 水题