推荐 最新
云卿山手

针对一个目录,里面的忽略文件的规则功能实现是什么原理呢, 请问是否是开源的技术呢?

针对一个目录,里面的忽略文件的规则功能实现是什么原理呢, 请问是否是开源的技术呢? 比如:.gitignore # Logs logs *.log npm-debug.log* yarn-debug.log* yarn-error.log* pnpm-debug.log* lerna-debug.log* node_modules dist dist-ssr *.local

20
1
0
浏览量336
Kapp啊$0920

如何合并指定一段多个commit之间的提交?

目前我知道是用 git rebase -i [startpoint] [endpoint] 但是每次都卡在了这个状态,跳到了游离的分支上 "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241229/86de00e333a426695b0f3b5ffd114f4d.png) 想请问这个下一步要如何做,才能达到我想把这之间的commit合并成一个的目的呢?

git
19
1
0
浏览量405
ApplePro

git 分支切换问题?

工具:vscode 现在的问题是当我在 dev 分支做了一些修改后直接执行 git checkout master 时,会将dev的修改带到 master 分支上去。 我记得之前直接切换分支不会成功,会提示先push或暂存再切换。 是改到什么配置了还是更新了

17
1
0
浏览量373
一颗西兰花

我想要基于br-a的commit-01 checkout 一个br-b,然后把`变化A`放到br-b中来,请问我应该怎么做呢?

我基于分支:br-a 的 commit-01 做了一些新增文件和变化(我称为"变化A"),但是没有commit, 但是我想要基于br-a的commit-01 checkout 一个br-b,然后把"变化A"放到br-b中来,请问我应该怎么做呢?

git
14
1
0
浏览量272
回龙叫不醒

git,显示本地分支超前1个版本落后2个版本,如何让本地代码跟远程代码完全一致?

"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250108/e10a6238e97975e52b30f51c98e18b0d.png) 目前我的操作是先将我的本地分支回退一个版本,将超前的这个commit删除(注:这个commit的代码我不需要了),再pull远程代码,这样就可以让我的本地代码跟远程代码完全一致了。 有没有可以一次达到这个效果的命令?

git
12
1
0
浏览量317
乘03060920

使用TortoiseGit将本地文件push到github上报错?

在本地使用TortoiseGit将文件push到Github上报如下错误 git.exe push --progress "origin" main:main fatal: unable to access 'https://github.com/kb834/machine_learning.git/': Recv failure: Connection was reset git did not exit cleanly (exit code 128) (22578 ms @ 2023/9/22 15:30:54) "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241224/0f0393976e7f46d45cfebd10cf7cda4d.png) 请问各位大佬应该如何解决这个问题

10
1
0
浏览量444
代码大师

git 如何实现 include 声明?

我不希望 git 记录 npz 结尾的文件 所以我在 ".gitignore" 里面添加了 "*.npz" 但是呢,我并不是所有的 npz 都想忽略 我想让 git 只追踪 "testing/std.npz" 如何声明让 git 忽略除了 "testing/std.npz" 之外的所有 npz 文件呢?

git
9
1
0
浏览量357
锅从天上来

Git - 教程(廖雪峰)

史上最浅显易懂的Git教程!为什么要编写这个教程?因为我在学习Git的过程中,买过书,也在网上Google了一堆Git相关的文章和教程,但令人失望的是,这些教程不是难得令人发指,就是简单得一笔带过,或者,只支离破碎地介绍Git的某几个命令,还有直接从Git手册粘贴帮助文档的,总之,初学者很难找到一个由浅入深,学完后能立刻上手的Git教程。既然号称史上最浅显易懂的Git教程,那这个教程有什么让你怦然心动的特点呢?首先,本教程绝对面向初学者,没有接触过版本控制概念的读者也可以轻松入门,不必担心起步难度;其次,本教程实用性超强,边学边练,一点也不觉得枯燥。而且,你所学的Git命令是“充分且必要”的,掌握了这些东西,你就可以通过Git轻松地完成你的工作。文字+图片还看不明白?有视频!!!本教程只会让你成为Git用户,不会让你成为Git专家。很多Git命令只有那些专家才明白(事实上我也不明白,因为我不是Git专家),但我保证这些命令可能你一辈子都不会用到。既然Git是一个工具,就没必要把时间浪费在那些“高级”但几乎永远不会用到的命令上。一旦你真的非用不可了,到时候再自行Google或者请教专家也未迟。如果你是一个开发人员,想用上这个世界上目前最先进的分布式版本控制系统,那么,赶快开始学习吧!关于作者廖雪峰,十年软件开发经验,业余产品经理,精通Java/Python/Ruby/Visual Basic/Objective C等,对开源框架有深入研究,著有《Spring 2.0核心技术与最佳实践》一书,多个业余开源项目托管在GitHub。

Git
0
0
0
浏览量2038
锅从天上来

Git - 安装Git

最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑。不过,慢慢地有人把它移植到了Windows上。现在,Git可以在Linux、Unix、Mac和Windows这几大平台上正常运行了。要使用Git,第一步当然是安装Git了。根据你当前使用的平台来阅读下面的文字:在Linux上安装Git首先,你可以试着输入git,看看系统有没有安装Git:$ git The program 'git' is currently not installed. You can install it by typing: sudo apt-get install git像上面的命令,有很多Linux会友好地告诉你Git没有安装,还会告诉你如何安装Git。如果你碰巧用Debian或Ubuntu Linux,通过一条sudo apt-get install git就可以直接完成Git的安装,非常简单。老一点的Debian或Ubuntu Linux,要把命令改为sudo apt-get install git-core,因为以前有个软件也叫GIT(GNU Interactive Tools),结果Git就只能叫git-core了。由于Git名气实在太大,后来就把GNU Interactive Tools改成gnuit,git-core正式改为git。如果是其他Linux版本,可以直接通过源码安装。先从Git官网下载源码,然后解压,依次输入:./config,make,sudo make install这几个命令安装就好了。在Mac OS X上安装Git如果你正在使用Mac做开发,有两种安装Git的方法。一是安装homebrew,然后通过homebrew安装Git,具体方法请参考homebrew的文档:http://brew.sh/。第二种方法更简单,也是推荐的方法,就是直接从AppStore安装Xcode,Xcode集成了Git,不过默认没有安装,你需要运行Xcode,选择菜单“Xcode”->“Preferences”,在弹出窗口中找到“Downloads”,选择“Command Line Tools”,点“Install”就可以完成安装了。Xcode是Apple官方IDE,功能非常强大,是开发Mac和iOS App的必选装备,而且是免费的!在Windows上安装Git在Windows上使用Git,可以从Git官网直接下载安装程序,(网速慢的同学请移步国内镜像),然后按默认选项安装即可。安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!安装完成后,还需要最后一步设置,在命令行输入:$ git config --global user.name "Your Name" $ git config --global user.email "email@example.com"因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。你也许会担心,如果有人故意冒充别人怎么办?这个不必担心,首先我们相信大家都是善良无知的群众,其次,真的有冒充的也是有办法可查的。注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

Git
0
0
0
浏览量2035
锅从天上来

Git - 分支管理之分支管理策略

通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。下面我们实战一下--no-ff方式的git merge:首先,仍然创建并切换dev分支:$ git checkout -b dev Switched to a new branch 'dev'修改readme.txt文件,并提交一个新的commit:$ git add readme.txt $ git commit -m "add merge" [dev f52c633] add merge 1 file changed, 1 insertion(+)现在,我们切换回master:$ git checkout master Switched to branch 'master'准备合并dev分支,请注意--no-ff参数,表示禁用Fast forward:$ git merge --no-ff -m "merge with no-ff" dev Merge made by the 'recursive' strategy. readme.txt | 1 + 1 file changed, 1 insertion(+)因为本次合并要创建一个新的commit,所以加上-m参数,把commit描述写进去。合并后,我们用git log看看分支历史:$ git log --graph --pretty=oneline --abbrev-commit * e1e9c68 (HEAD -> master) merge with no-ff |\ | * f52c633 (dev) add merge |/ * cf810e4 conflict fixed ...可以看到,不使用Fast forward模式,merge后就像这样:分支策略在实际开发中,我们应该按照几个基本原则进行分支管理:首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。所以,团队合作的分支看起来就像这样:小结Git分支十分强大,在团队开发中应该充分应用。合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。

Git
0
0
0
浏览量2013