我一直在一个新分支上开发一个新功能,同时在我的主分支上做了很多更改。
是否可以将 master 分支合并到我的新分支中以使其保持最新状态,以便在新功能完成后我不会有太多合并冲突?
我在错误的分支上做了一些工作;我忘了检查正确的分支。是否可以更改到另一个分支并在那里提交我的更改?
我最近才尝试在 github 中分叉,并希望获得一些“最佳实践”建议。
我在 fork 中创建了一个分支,该分支被拉入上游项目的 master。它不再出现在网络图中,但它仍然存在于 github 上。我现在删除分叉上的这个分支安全吗?
编辑:为了澄清,我正在检查这是否与 github 的“不更改历史”规则冲突。
我在几个网站上工作,除了图像和 css 或设置中的一些更改外,两个网站都需要几乎相同的代码。
我刚刚读完了 Pro Git 书的分支章节,我有点困惑,如果分支不是解决这个问题的最佳解决方案,是一个分支吗?
我的意思是,我们有代码的实例 A 和 B,在 A 和 B 之间,区别在于诸如 css 颜色、url、api 键之类的东西,但大多数代码是相同的,所以我可以用什么方式来处理这个,我需要像 A 中的代码,然后“修补”它以获得 B,但我不确定如何进行不覆盖图像的合并...
无论如何,如果是分支或分叉,如何在不丢失 B 更改的情况下对 A 中的新功能进行合并?
我正在尝试在 git 中做以下事情:
顺序并不重要,可以这样做:
我怎样才能做到这一点?
我有一个 git 存储库,里面有很多 PDF 文件。git 存储库的大小越来越大,以至于当 Internet 连接有限时,将存储库克隆到新主机非常复杂......
我使用git gc && git gc --aggressive它花费了我很多内存并且没有做任何有用的事情。存储库的大小仍然大致相同。
我听说过,git annex但我不知道这是否是正确的方法,因为我不想每次需要其中一个 PDF 时都拉。当然我可以这样做并将所有文件留在我的笔记本电脑上,但我想一次克隆所有内容而不是两个不同的存储库)
是否有一种减小大小并仍然可以使用 PDF 的好方法(除了减小 PDF 的大小 - 我的存储库中有一些大小超过 100MB)
当我从新添加的遥控器中提取时,我必须明确指定分支名称:
$ git pull remote1
...
Error: you didn't specify a branch name.
$ git pull remote1 master
Run Code Online (Sandbox Code Playgroud)
虽然我在master分支上工作。
从不同遥控器的不同分支中提取可能很有用,但它从未发生在我身上。在我们的团队中,我们从不将不同名称的分支拉到当前签出的分支中。
那么,我可以将 git 配置为始终从具有相同名称的分支中提取吗?
因此,我们的 git 存储库中有一个名为creative_market. 我运行运行正常的命令git checkout --track origin/creative_market。应该在creative_market分支上的所有更改都存在。但是,如果我运行,git pull我会收到此错误:
您的配置指定与来自远程的 ref 'creative_market' 合并,但未获取此类 ref。
此外,如果我这样做,git pull origin creative_market我会得到:
致命:找不到远程参考 creative_market
致命:远端意外挂断
运行 agit branch -a清楚地显示:
遥控器/起源/creative_market
我的.git/config文件显示:
[branch "creative_market"]
remote = origin
merge = refs/heads/creative_market
Run Code Online (Sandbox Code Playgroud)
这与我的.git/config文件中的其他所有内容一致。
我被难住了。有任何想法吗?
我刚刚遇到了一个对 Git 来说似乎不合逻辑的情况。我有一个有大量提交的 repo,所以在这个阶段它只有一个分支(master)。
假设这个分支有一个名为MyFile.txt的文件。现在我需要创建一个不同的分支,因为我想对几个文件进行一些更改,而且我不想直接做主分支,所以我运行:
git checkout iss53
Run Code Online (Sandbox Code Playgroud)
现在架构如下所示:
好的,我已经切换到分支iss53,我运行ls -l和MyFile.txt。其中一项更改包括删除MyFile.txt文件,因此:
git rm MyFile.txt
Run Code Online (Sandbox Code Playgroud)
很好,ls -l再次运行显示不再有MyFile.txt。所以我切换回主分支:
git checkout master
Run Code Online (Sandbox Code Playgroud)
但是... MyFile.txt文件也消失了。我的逻辑说,如果我删除分支上的文件,应适用只到分支,那么为什么在文件被删除的主分支呢?请注意,我还没有进行任何提交,只是分支。
注意:两张图片均来自Git-scm。