草庐IT

git-fsck

全部标签

git 查看某个分支是从哪个分支拉出来的

原文链接:https://blog.csdn.net/allanGold/article/details/102478157查看release3是从哪个分支拉出来的#方式1gitreflog--date=local|greprelease35c50761HEAD@{ThuJun2912:53:452023}:checkout:movingfromrelease2torelease3#方式2gitreflogshowrelease31ffdd7c(HEAD->release3)release3@{0}:commit:update17c9f82release3@{1}:commit:update0

【Git】(六)子模块跟随主仓库切换分支

场景主仓库:TestGit子模块:SubModule分支v1.0.gitmodules文件[submodule"Library/SubModule"] path=Library/SubModule url=git@gitee.com:sunriver2000/SubModule.git branch=1.0.0.0分支v2.0.gitmodules文件[submodule"Library/SubModule"] path=Library/SubModule url=git@gitee.com:sunriver2000/SubModule.git branch=2.0.0.0问题仓库如上场景描述

git将其他分支的某个提交合到当前分支

目录1.命令2.操作说明1.命令同步一个提交的命令:gitcherry-pick-x提交id同步多个提交的命令:gitcherry-pick-x提交id1提交id2提交id3...-x可加可不加,一般建议加,因为我们这次的提交会产生新在commitID,加了-x他会在提交信息的末尾追加一行(cherrypickedfromcommit...),方便以后查到这个提交是如何产生的。同步多个提交时要注意,提交较早的commitID要放在前面,比如commitIDA比commitIDB提交早,那么同步的时候就要这样:gitcherry-pick-xcommitIDAcommitIDB官方文档:http

Git:git clone 之 --recursive 选项

在git的repo中,可能会有子项目的代码,也就是"git中的git" --recursive是递归的意思,不仅会gitclone当前项目中的代码,也会clone项目中子项目的代码。我们有时在gitclone的时候漏掉--recursive选项,导致编译无法通过。因为如果没有加 --recursive选项,那么代码库中的一些subproject或者submodule的代码将不会被gitclone下来,导致缺少文件,从而引发编译错误。所以尤其在需要编译的时候,gitclone最好加上--recursive,用于循环克隆git子项目,如:gitclone--recursivehttps://git

Idea下面git的使用:变基、合并、优选、还原提交、重置、回滚、补丁

多分支和分支切换变基和合并变基是把本项目的所有提交都列出来按顺序一个个提交到目标分支上去而合并是把两个分支合并起来,但是旧的分支还是可以启动其他分支,在旧的分支上继续开发master:A--B--C--M/feature:D--Emaster:A--B--C\feature:D'--E':::success主动变基和被动变基的区别:::没有什么区别变基,只是把合并的一种策略,把两个分支的有差异的提交,单次一次一次的提交到主动要求变基的分支,比如main分支要求变基到feature,意味着把feature所有和main有差异的提交都提交到main,包括时间顺序。还原提交是什么假设之前有个提交出现

git报错can‘t push refs to remote. Try running “Pull“ first to integrate to your changes

0前言  这是我在使用git提交代码到GitHub上时遇到的一个报错,刚遇到此问题,内心充满了恐惧,不知如何解决,花了不少时间查资料,因此有必要在此记录一下,同时希望可以为读者提供一定参考。1该错误出现的时期  在远程创建空仓库,然后本地写一些代码,尝试提交到远程时,出现标题所指的错误。2原因  其实就是代码冲突,因为我提交的是子文件里的代码,远程有与其并列的子文件的代码,然后我又创建一个子文件,尝试提交远程就导致了远程和本地代码不一致情况(也即冲突)。场景一你commit了你修改的代码,但是别人在你修改期间push了最新代码,此时你再push就会因为代码冲突报错没懂不要紧,下面用图片再演示一

git status 命令详解

gitstatus命令表示:文件,文件夹在工作区,暂存区的状态,下图就是文件,文件夹三种状态:Changestobecommitted:(use“gitrestore--staged…”tounstage)newfile:bbbb.txtChangesnotstagedforcommit:(use“gitadd…”toupdatewhatwillbecommitted)(use“gitrestore…”todiscardchangesinworkingdirectory)modified:bbbb.txtUntrackedfiles:(use“gitadd…”toincludeinwhatwi

git账号设置

1git账号设置git提供了gitconfig工具进行账号的设置。例:gitconfig--globaluser.name"xxx"gitconfig--globaluser.email"xxx@qq.com"通过以上命令基本可以完成账号的设置。但是--global代表什么意思?gitconfig--local:仓库级别的设置,该设置只对当前仓库适用gitconfig--global:设置当前用户下的全局用户名gitconfig--system:设置系统级的用户名,对所有用户适用作用范围:system>global>local优先级:local>global>system(设置有local优先

干货 | 将已有项目代码放到新的git仓库上

1、新建git仓库,将本地项目设置为一个git仓库。如果本地项目已经是一个git仓库了,请跳过这一步。在项目根目录下:gitinit2、把当前目录下的已有文件全部加到刚刚新建的git仓库中:gitadd.3、保存刚刚加入的文件,并书写保存信息:gitcommit-m"pushcurrentfiles"4、将本地仓库与远程仓库关联起来:gitremoteaddorigingit@yourGitPorjectUrl.git5、pull远程仓库的内容,更新本地仓库,使用–allow-unrelated-histories忽略本地仓库和远程仓库的无关性,强行合并(关键):gitpulloriginma