标签: branching-and-merging

git cherry-pick不起作用

我正在尝试从主人那里挑选一个提交并将其放入当前的生产分支.但是,当我执行时git cherry-pick <SHA-hash>,我只收到此消息:

# On branch prod_20110801
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#   site/test-result/
 nothing added to commit but untracked files present (use "git add" to track)
 The previous cherry-pick is now empty, possibly due to conflict resolution.
If you wish to commit it anyway, use:

    git commit --allow-empty

Otherwise, please use 'git reset'
Run Code Online (Sandbox Code Playgroud)

注意:我尝试过重置和重置 - 硬HEAD ^,似乎都没有改变任何东西.

我很困惑为什么这不适合我.

任何关于如何解决这个问题的见解,建议或想法都会有所帮助〜!

git cherry-pick branching-and-merging

98
推荐指数
4
解决办法
5万
查看次数

删除git创建的大型.pack文件

我检查了一大堆文件到一个分支并合并,然后不得不删除它们,现在我留下了一个大的.pack文件,我不知道如何摆脱.

我删除了所有使用的文件git rm -rf xxxxxx,我也运行了该--cached选项.

有人能告诉我如何删除当前位于以下目录中的大型.pack文件:

.git/objects/pack/pack-xxxxxxxxxxxxxxxxx.pack

我只需要删除我仍然拥有但不再使用的分支吗?或者我还需要运行其他东西吗?

我不确定它有多大差别,但它显示了一个挂锁文件.

谢谢


编辑

以下是我的bash_history的一些摘录,它应该让我知道我是如何设法进入这种状态的(假设我正在开发一个名为'my-branch'的git分支,我有一个包含更多文件夹的文件夹/文件):

git add .
git commit -m "Adding my branch changes to master"
git checkout master
git merge my-branch
git rm -rf unwanted_folder/
rm -rf unwanted_folder/     (not sure why I ran this as well but I did)
Run Code Online (Sandbox Code Playgroud)

我以为我也运行了以下内容,但它没有出现在bash_history中与其他人:

git rm -rf --cached unwanted_folder/
Run Code Online (Sandbox Code Playgroud)

我还以为我运行了一些git命令(比如git gc)来尝试整理包文件,但它们也没有出现在.bash_history文件中.

git pack branching-and-merging

90
推荐指数
6
解决办法
8万
查看次数

删除SVN分支

我创建了一个名为"features"的SVN项目的分支,现在每当我尝试更新所述项目时,它都会带来一个features文件夹,其中包含该分支的另一个项目副本.有没有办法从存储库中完全删除分支,以便不再发生这种情况?

svn version-control branching-and-merging

84
推荐指数
4
解决办法
12万
查看次数

合并后我应该删除分支吗?

合并分支后,是否将其从存储库中删除?
但是,这是一个好习惯吗?

我通常创建很多分支,因为我不想破坏我当前的版本,我希望删除它们以保持秩序.
但是,如果您使用Assembla或GitHub,旧分支的合并请求将保存在网站上,因此如果您删除它们,您将收到错误,因为它无法获取它们...

通常如何管理?

git branching-and-merging

78
推荐指数
3
解决办法
3万
查看次数

用于使一个分支像另一个分支的git命令

我试图采取一个变化的分支,并将其恢复为与它分离的上游相同.这些变化都是本地的,并且已被推送到github,因此它们都没有git reset或者git rebase真的可行,因为它们改变了历史,这对于已经被推动的分支来说是一件坏事.

我也尝试git merge了各种策略,但没有一个撤消本地更改,即如果我添加了一个文件,合并可能会使其他文件重新排队,但我仍然会有上游没有的文件有.

我可以在上游创建一个新的分支,但我真的很喜欢合并,在修订历史方面应用所有更改来获取我的分支并使其与上游相同,以便我可以安全地推动该更改没有破坏历史.是否有这样的命令或一系列命令?

git github branching-and-merging

70
推荐指数
4
解决办法
3万
查看次数

Tortoisesvn Subversion 1.8 - 合并 - 不再重新整合分支选项

在tortoiseSvn 1.8中,没有"重新整合"分支选项.在Tortoise Svn 1.8中重新整合分支的正确方法是什么?

在选择合并然​​后下一个选项: 合并第一步

然后我进入下一个窗口: 在此输入图像描述

或者我做错了什么?

svn tortoisesvn branching-and-merging

65
推荐指数
3
解决办法
5万
查看次数

Mercurial:在一个仓库中合并分支之间的一个文件

当我在Hg repo中有两个分支时,如何只将一个文件与另一个分支合并,而没有将变更集中的所有其他文件合并?

是否可以仅合并某些文件,而不是整个变更集?

version-control mercurial dvcs branching-and-merging

49
推荐指数
2
解决办法
2万
查看次数

警告:您将离开1个提交,而不是连接到任何分支

EGit再次罢工.我犯了一个错误,试图切换到EGit中的一个不同的分支,它以某种方式混乱并检查没有分支.然后我提交了这个非分支,然后当我意识到我没有跟踪正确的分支时,我运行了以下内容:

$ git checkout issue2
Warning: you are leaving 1 commit behind, not connected to any of your branches:

    bada553d My commit message

If you want to keep them by creating a new branch, this may be a good time to do so with:

    git branch new_branch_name ....

Branch issue2 set up to track remote branch issue2 from origin.
Switched to a new branch issue2. 
Run Code Online (Sandbox Code Playgroud)

现在我已经搞砸了,如何将该提交与我当前的分支相关联?我对创建一个全新的分支并不感兴趣,我只想将该提交提取到我的分支中issue2.

git version-control branching-and-merging

49
推荐指数
2
解决办法
3万
查看次数

SVN分支比较

如何将一个分支与另一个分支进行比较?我想比较一个分支与trunk中的最新版本.

svn diff branch branching-and-merging

45
推荐指数
4
解决办法
5万
查看次数

适当的git工作流程方案,多个开发人员在同一个任务上工作

我是我们网站开发公司的团队负责人,我想在我们的团队中实施Git工作流程.阅读文档和文章我发现以下结构对我们有益:

我们在Bitbucket中有一个存储库.分支仅被视为包含稳定代码.每个开发必须建立自己的分公司,并实现他的特点/ bug修正自己的分公司.一旦他决定,他的代码准备就绪,他创建了一个很好的分支历史(使用rebase,修改,樱桃挑选等)并将其推送到Bitbucket,在那里创建一个拉动请求到主分支.质量检查验证功能并批准(或不批准)它,然后我验证代码,如果可以,我将他的工作合并为主(通过快进或重新定位以获得更好的提交历史记录).

但是这种方案只适用于单个开发人员在分支机构上工作的情况.在我们的例子中,我们几乎总是有两个开发人员用于一个分支,因为一个开发人员在服务器端(PHP),另一个开发人员在客户端(HTML/CSS/JS).这两者应该如何以一种方式进行协作,使主人的历史保持干净?

服务器开发人员创建HTML文件的基本结构,客户端开发人员需要获得此结构.逻辑上将为服务器dev创建一个分支,并为客户端dev创建自己的分支,基于服务器dev分支.但这意味着,服务器开发人员需要在Bitbucket中发布他的分支,这将使他无法重新定义或更改已经发布的提交.

另一个选择是等待,直到服务器开发人员完成他的工作,发布具有良好提交历史记录的分支并忘记它,并且只有在该客户端dev开始在该分支中工作之后,这将导致时间延迟,这甚至更糟.

您如何在工作流程中处理此类协作?

git workflow bitbucket branching-and-merging

41
推荐指数
4
解决办法
3万
查看次数