我的颤振在稳定通道上运行良好,但是当切换到另一个通道时,它以 find: invalid mode '+100'
每次我运行这个命令时:
> flutter channel master
> flutter doctor
Run Code Online (Sandbox Code Playgroud)
总是最终下载一个 git 和消息错误:
find: invalid mode ‘+100’
Run Code Online (Sandbox Code Playgroud)
我跑了 :
git clean -xfd
git pull
flutter doctor
Run Code Online (Sandbox Code Playgroud)
但总是以相同的错误消息结束,这是屏幕截图:

知道我的颤振有什么问题吗?
我很乐意为这个问题写一个更精确的主题,但目前我无法更好地表达它。
基本上,假设您有一个存储库,其中有多个分支,例如“master”和“mybranch”。
所以,假设你在 master 上:
$ git status
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
Run Code Online (Sandbox Code Playgroud)
然后你git pull在这里做;为分支master和mybranch. 由于您已经位于分支中master,master因此其 HEAD 自动更新为git最新收到的提交。
现在,假设您使用 checkout 更改分支:
$ git checkout mybranch
Switched to branch 'mybranch'
Your branch is behind 'origin/mybranch' by 2 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
Run Code Online (Sandbox Code Playgroud)
现在这就是让我困惑的地方 - 在之前的拉取中,(显然)所有最新的提交 - 包括那些mybranch- …
我在 GitLab 上有一个存储库,我也在 GitHub 上发布了它。
到目前为止,我使用的所有 Git 命令都在 GitLab 上进行了更改。但是,我希望在 GitHub 上进行这些提交。
我试过命令:
git remote set-url origin git@github.com:repo-url
Run Code Online (Sandbox Code Playgroud)
有人可以建议我如何设置 URL 以便命令可以在 GitHub 而不是 GitLab 上运行吗?
在我的中,.gitconfig我已rebase设置为默认拉选项。我想了解两者之间有什么区别
git merge origin/develop
与
git pull origin develop
我目前所理解的是git pull origin develop将分支develop从origin(远程)拉入当前分支。但也是如此git merge origin/develop(或者,确实如此)?
谢谢,
我有一个包含 3 次提交的本地存储库:
A -> B -> C
Run Code Online (Sandbox Code Playgroud)
远程仓库还有另外 3 个提交:
A -> B -> D
Run Code Online (Sandbox Code Playgroud)
如何git pull通过丢弃所有本地提交来解决分歧?之后的本地仓库git pull --some-magic应该是:
A -> B -> D
Run Code Online (Sandbox Code Playgroud)
请注意,这git reset HEAD~1 --hard是行不通的,因为我的脚本不知道必须恢复多少提交以避免冲突。
我正在编写一个脚本来在 github 和 gitlab 存储库之间同步。其中之一是只读镜像。我的脚本只是尝试git pull --force从 origin1 到git pushorigin2。
但是,如果有人更改了 的历史记录origin1,git pull我的脚本中的 将会失败并显示错误消息。解决该问题的唯一方法是删除整个本地存储库,并git clone从stretch执行。浪费带宽而且速度很慢!
一些背景故事!
我一直在使用 git 为一个开源包做出贡献,我在这方面有点新手。我知道一些基本的东西。此外,我还读到如果发生合并冲突,我们可以遍历文件,标记可以帮助我们找到同一文件的两个版本中相互冲突的代码块。
最近第一次遇到合并冲突,是在 Jupyter notebook 文件(.ipynb)上。但是,合并冲突的标记使 Jupyter 无法读取笔记本。所以,我尝试了 JSON 编辑器和 VS CODE 和 Notepad++。虽然我现在可以看到该文件,但它真的很乱,因为它不仅包含 Jupyter notebook 的所有元数据,而且甚至在执行次数方面也显示冲突。另外,如果笔记本中有一个图形作为一个单元格的输出,它会被转换成很多字符,向下滚动并浏览它们是很头疼的。
在搜索 google 和 stackoverflow 并与项目所有者讨论问题后,我们决定采取另一种方法。但是,它不起作用。(我在下面进行了解释,但首先我需要提供更多信息。请耐心等待)
根据提交的历史记录,我应该是在本地通过更改 PARENT 分支上的相同文件而在本地创建此类冲突的人,因为没有人在上游更改它(在原始存储库中)
因此,请让我首先简要介绍一下分支和我对文件所做的一些更改。
branch-Asub-branch-of-Anotebook-filesub-branch-of-A成branch-A在 my 中branch-A,我做到了:git push origin branch-A但我non-fast-forward出错了。这意味着发生了分歧。对?所以,我确实git pull origin branch-A解决了它,但是我遇到了notebook-file.
替代方案
所以,我被告知我可以将文件复制到本地 git 存储库之外的某个地方,然后git checkout notebook-file在发生分歧的父节点中获取文件。对?然后,如果我这样做git pull ...应该没有问题(然后我可以包含该复制文件的更改)
但...
我再次遇到合并冲突错误。我疯了,尝试了几件事,但仍然没有。
我附上了下面的git日志。我所说的分支是Snippets_Tutorial,而它的子分支是 …
在 IntelliJ 中,我正在从一个名为 的远程分支开发一个新分支stage。我的分行叫PM-43655-stage. 我承诺了我的改变并做到了git push -u origin PM-43655-stage。它创建了一个到分支的合并请求stage。现在它显示源分支比目标分支落后 2 个提交。
但不存在合并冲突。
我对git pull和感到困惑git fetch,我不知道在这种情况下该怎么做。
git pull当我在 Mac 上的终端中运行时,如何解决此错误?
remote: Enumerating objects: 115, done.
remote: Counting objects: 100% (115/115), done.
remote: Compressing objects: 100% (66/66), done.
remote: Total 104 (delta 71), reused 63 (delta 30), pack-reused 0
Receiving objects: 100% (104/104), 3.92 MiB | 3.16 MiB/s, done.
Resolving deltas: 100% (71/71), completed with 9 local objects.
fatal: bad object refs/heads/main (1)
error: https://github.com/[...domain name...]/website.git did not send all necessary objects
Run Code Online (Sandbox Code Playgroud)
背景是我有一个网站,通常运行没有问题。我在 RStudio 中创建它并与 github 同步。Netlify 就是从这里开始的。以下是设置的基础: https: //www.apreshill.com/blog/2020-12-new-year-new-blogdown/。
在 RStudio 中进行更改后,我通常可以在 RStudio 内提交并推送更改。但这一次,它是这样说的: …
我使用'git branch -b branch-name origin/branch-name'在我的本地存储库中本地跟踪远程跟踪分支.我的远程分支是test2/test2(origin/branch-name),它在本地被跟踪为test2.
起源也称为test2.我还没有签出我的本地跟踪分支test2.
当我做'git pull origin remote-branch:local-tracked-branch'时,我收到此错误
[test2] $ git pull test2 test2:test2来自/ gitvobs/git_bare/test2![拒绝] test2 - > test2(非快进)
然后当我结账我的本地跟踪分支test2并且拉'git pull origin local-tracked-branch'时我没有得到错误,我使用'git pull test2 test2'进行拉动
来自/ gitvobs/git_bare/test2*branch test2 - > FETCH_HEAD自动合并a.txt自动合并失败; 修复冲突,然后提交结果.
我知道添加+(git pull test2 + test2:test2)会有所帮助,但它会覆盖本地更改.
那么我怎么知道哪些本地分支是由我在本地使用'git branch new-branch-name'创建的,或者是使用git branch -b branch-name origin/branch-name'从远程分支本地跟踪的?
我在这做错了什么?假设我在分支"one"并且想要切换到master并执行pull -rebase.
我使用的别名是:
git config --global alias.cpr "!git checkout $1 && git pull --rebase $2 $1"
Run Code Online (Sandbox Code Playgroud)
谢谢
git ×10
git-pull ×10
git-fetch ×2
alias ×1
flutter ×1
git-branch ×1
git-checkout ×1
git-log ×1
git-merge ×1
git-push ×1
git-remote ×1
github ×1
r ×1
rstudio ×1