github相关

本文详细介绍了Git的使用,包括远程与本地仓库的同步问题,以及解决办法。内容涵盖创建、切换和删除分支,提交、更新与合并代码的流程,还有fetch、pull、push等远程操作。特别强调了merge和rebase的合并策略及其优缺点,帮助读者深入理解Git的工作流程。
摘要由CSDN通过智能技术生成

默认分支修改,删除有关问题

  • 远程和本地仓库名字一样,但其实不是同一个导致拒绝访问
    解决:将远程的克隆到本地,然后再修改,把.git放到需要上传的项目里面,再上传
    git clone https://…
    git remote add origin https://github.com/Tsimage/Swint_TCT.git #连接远程仓库
  • git status,查看
  • git add . 添加当前目录下所有文件到缓存区
  • git commit -m ‘first commit’ 缓存区到本地仓库
  • git push -u origin master

git项目内容更新

只要在本地.git 文件所在项目更新,然后按上面的git add . 及后面的操作更新就好了
git更新代码
1 git status #查看已修改的文件情况

2 git add * #添加要push到远程仓库的文件或文件夹
3 git commit -m “详细描述本次修改的内容”
4 git push #将本地仓库push到远程仓库,-f强制push到远程仓库

提交相关

想要对代码进行提交必须得先加入到暂存区,Git中是通过命令 add 实现
添加某个文件到暂存区

-git add 文件路径
添加所有文件到暂存区(当前目录下所有文件):

  • git add .
    同时Git也提供了撤销工作区和暂存区命令
    撤销工作区改动:
  • git checkout – 文件名
    清空暂存区:
  • git reset HEAD 文件名
    提交:
    将改动文件加入到暂存区后就可以进行提交了,提交后会生成一个新的提交节点,具体命令如下:
  • git commit -m “该节点的描述信息”

分支相关

创建分支,创建一个分支后该分支会与HEAD指向同一节点,说通俗点就是HEAD指向哪创建的新分支就指向哪,命令如下:

  • git branch 分支名

切换分支 当切换分支后,默认情况下HEAD会指向当前分支,即HEAD间接指向当前分支指向的节点

  • git checkout 分支名

也可以创建一个分支后立即切换,命令如下:

  • git checkout -b 分支名

删除分支为了保证仓库分支的简洁,当某个分支完成了它的使命后应该被删除。比如前面所说的单独开一个分支完成某个功能,当这个功能被合并到主分支后应该将这个分支及时删除。

  • git branch -d 分支名

Git下载指定分支命令为:git clone -b 分支名 仓库地址

1)远程没有dev分支,(本地已经切换到dev)
git push origin dev:dev
git push origin 本地分支 : 远程分支名

本地推送远程,远程不需要有对应分支

  • git push -u origin classification

合并相关

关于合并的命令是最难掌握同时也是最重要的。我们常用的合并命令大概有三个merge、rebase、cherry-pick

merge

merge是最常用的合并命令,它可以将某个分支或者某个节点的代码合并至当前分支。具体命令如下:

  • git merge 分支名/节点哈希值
    在这里插入图片描述

rebase

rebase也是一种合并指令,命令行如下:

  • git rebase 分支名/节点哈希值
    在这里插入图片描述

merge优缺点:

优点:每个节点都是严格按照时间排列。当合并发生冲突时,只需要解决两个分支所指向的节点的冲突即可
缺点:合并两个分支时大概率会生成新的节点并分叉,久而久之提交历史会变成一团乱麻

rebase优缺点:

优点:会使提交历史看起来更加线性、干净
缺点:虽然提交看起来像是线性的,但并不是真正的按时间排序,比如图3-3中,不管C4早于或者晚于C3提交它最终都会放在C3后面。并且当合并发生冲突时,理论上来讲有几个节点rebase到目标分支就可能处理几次冲突

cherry-pick

远程相关

在Git中可以通过clone从远程仓库复制一份代码到本地,具体命令如下:

  • git clone 仓库地址
    clone不仅仅是复制代码,它还会把远程仓库的引用(分支/HEAD)一并取下保存在本地,如图3-5所示:
    在这里插入图片描述

fetch

说的通俗一点,fetch命令就是一次下载操作,它会将远程新增加的节点以及引用(分支/HEAD)的状态下载到本地,具体命令如下:

  • git fetch 远程仓库地址/分支名

pull

pull命令可以从远程仓库的某个引用拉取代码,具体命令如下:

  • git pull 远程分支名
    其实pull的本质就是fetch+merge,首先更新远程仓库所有状态到本地,随后再进行合并。合并完成后本地分支会指向最新节点

push

push命令可以将本地提交推送至远程,具体命令如下:

  • git push 远程分支名
    如果直接push可能会失败,因为可能存在冲突,所以在push之前往往会先pull一下,如果存在冲突本地解决。push成功后本地的远程分支引用会更新,与本地分支指向同一节点。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值