用(当前)非git文件夹替换分支中的所有文件和文件夹

     2023-02-19     219

关键词:

【中文标题】用(当前)非git文件夹替换分支中的所有文件和文件夹【英文标题】:Replace all files and folders in branch with (currently) non-git folder 【发布时间】:2021-01-25 12:01:39 【问题描述】:

请记住,我对 Git 完全陌生,对术语了解不多

我在 GitHub 存储库上有一个分支 reference-redo 和一个不同的(非 git)文件夹,我想用它替换 reference-redo 分支的内容。

在 Git bash 中打开文件夹:

git init:添加一个.git 文件夹(说它初始化了一个空的 Git 存储库)

git add .:添加所有文件和文件夹(有关于 LF 被 CR LF 替换的警告但没有错误)

git commit -m 'Fixed usage of references for ObjectPointer type': 'create mode ...' 为 14 个文件

git remote add origin https://github.com/me/repo-name.git: 没有输出也没有错误

git checkout -b reference-redo: 切换到新分支'reference-redo'

git remote -v

git push origin reference-redo

 ! [rejected]        reference-redo -> reference-redo (fetch first)
error: failed to push some refs to 'https://github.com/me/repo-name.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

这似乎是因为我替换分支的文件,而不是更新它。我必须推送到新分支还是可以推送当前目录?

运行git remote show origin 表明分支确实存在:

  Remote branches:
    functions      new (next fetch will store in remotes/origin)
    master         new (next fetch will store in remotes/origin)
    reference-redo new (next fetch will store in remotes/origin)
  Local refs configured for 'git push':
    master         pushes to master         (local out of date)
    reference-redo pushes to reference-redo (local out of date)

git-push

【问题讨论】:

【参考方案1】:

如果您想覆盖该分支中的整个历史记录,您可以git push --force

否则,请通过在本地文件管理器中删除和复制文件进行定期更新,然后像任何其他时间一样提交。

【讨论】:

这和-f一样吗,有没有潜在的负面影响? 是的。是的,如果其他人已经获取了那个分支,那就有问题了。

git打包文件

...master和fix-error分支差异的文件。2.4打包并忽略某个文件或文件夹忽略wxapp文件夹2.5简单一点的gittar打包 查看详情

4.git目录探秘

...如当前在develop分支,实际指向地址是refs/heads/develop? hooks[文件夹]? index? info[文件夹]? logs[文件夹]? objects[文件夹](存放所有的git对象,对象哈希值前2位作为文件夹名称,后38位作为对象文件名,可通过gitcat-file-p命令,拼接文件夹... 查看详情

git名词解释和常用术语

...。2)、工作区(WorkingDirectory) 本地电脑上的工作目录文件夹。3)、暂存区(Stagingarea)暂存区是暂存工作区的文件变化。4)、索引(Index)索引是暂存区的另一种术语,即暂存区的别名。5)、签入(Checkin)将新版本复制回仓库6)... 查看详情

列出git中master分支和当前分支之间的所有文件?如果有任何节点包将结果推送到数组中,那就太好了:)

】列出git中master分支和当前分支之间的所有文件?如果有任何节点包将结果推送到数组中,那就太好了:)【英文标题】:Listallthefilesbetweenmasterandcurrentbranchintgit?Itwouldbegreatifthereisanynodepackagetopushouttheresultinanarray:)【发布时间】:2019... 查看详情

用 git 子模块替换硬编码目录时出现未跟踪文件错误

】用git子模块替换硬编码目录时出现未跟踪文件错误【英文标题】:Untrackedfileserrorwhenreplacinghardcodeddirectorywithgitsubmodule【发布时间】:2022-01-2110:30:38【问题描述】:我有一个git存储库,其目录位于lib/some_module下。sub_module中的所... 查看详情

前端中常用git命令汇总

...--------------------------gitclone地址从远程库克隆(先cd到指定文件夹下,再执行clone操作)gitlog 查看提交日志gitremoterm 删除仓库gitdiff* 查看X文件修改了那些内容gittoucha创建a文件gitmkdirtest创建test文件夹gitrma删除a文件gitcata打... 查看详情

Git:从另一个分支复制目录中的所有文件

】Git:从另一个分支复制目录中的所有文件【英文标题】:Git:copyallfilesinadirectoryfromanotherbranch【发布时间】:2011-02-0918:22:06【问题描述】:如何从另一个分支复制目录中的所有文件?我可以通过列出该目录中的所有文件gitls-treema... 查看详情

git使用实例分析

...此时Git和Gerrit结合使用;2.对修改文件追加提交;3.查看当前目录的所有分支,包括:本地分支和远程分支;4.根据远程分支创建分支,并查看所有分支与远程分支的对应关系;5.切换分支前,保存当前分支的修改;并在返回时,... 查看详情

git相关整理(代码片段)

...的方法。工作区与暂存区工作区:workspace,git管理的当前文件夹暂存区:stage/index,工作区与分支之间的中转站gitadd——将修改添加到暂存区gitcheckout--filename——撤销工作区中指定文件的修改gitcheckout.——撤销工作区中当前目录... 查看详情

git命令大全

...Git的安装目录下(Mac系统下安装目录在/usr/local/git)的etc文件夹中的gitconfig。从远程仓库克隆一个版本库到本地。初始化项目所在目录,初始化后会在当前目录下出现一个名为.git的目录。查看本地仓库的状态。操作远程库。操作... 查看详情

git创建分支会把复制所有代码吗

...nfig-globaluser.email"you@example.com"建立一个存放工程的文件夹gitinit命令用于初始化当前所在目录的这个项目会创建一个隐藏文件.git创建main.c文件创建.gitignore文件,忽略该文件里面有的项目文件gitstatus查看项目状态gitadd..给我... 查看详情

在所有文件 rstudio 中查找和替换文本

...02:40【问题描述】:我想知道为什么Rstudio中仍然没有搜索当前项目(包)中的所有文件并替换给定文本的功能!?或者也许有一个,我不知道!ctrl+shift+f只在所有文件中查找而不替换。ctrl+shift+j(或ctrl+f)在当前文件中查找和替... 查看详情

如何使用git(代码片段)

...le,当我们执行 gitpush 没有指定分支时,自动使用当前分支,而不是报错。Git初体验对于有经验的开发者来说,在他每次新建完开发项目的时候,首先要做的第一件事就是将自己的项目纳入到Git代码版本管理中,完成这个... 查看详情

git创建空的分支

...不会指向任何以前的提交,就是它没有历史,如果你提交当前内容,那么这次提交就是这个分支的首次提交。想要空分支,所以需要把当前内容全部删除,用git命令如果没有任何文件提交的话,分支是看不到的,所以我们需要创... 查看详情

git常用操作

...gitcommit提交更改,实际上就是把暂存区的所有内容提交到当前分支。远程库Origin:和版本库对应下面这个图展示了工作区、版本库中的暂存区和版本库之间的关系:二、团队协作git操作流程:克隆一个全新的项目,完成新功能并... 查看详情

git基本操作命令

...改的文件$gitstatus显示与上次提交版本文件的不同$gitdiff把当前所有修改添加到下次提交中$gitadd.指定某个文件的修改添加到下次提交中$gitadd-p提交本地所有的修改$gitcommit-a提交之前已标记的变化$gitcommit修改上次提交(不要修改已... 查看详情

git命令

...uo;gitbranch-a”查看远程项目所有分支,红颜色分支代表当前所在分支,其他的所列的就是所有分支了。输入“gitstatus”检查下修改了什么内容,查看处于什么分支输入“gitlog”查看历史提交信息。 Git中文件的两... 查看详情

git与svn区别

...控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。3.GIT分支和SVN的分支不同:分支在SVN中一点不特别,就是版本库中的另外的一个目录。4.GIT没有一个全局的版本号,而SVN有:目前 查看详情