相关疑难解决方法(0)

Git - 最佳实践(一般情况下,从前SVN用户的角度来看).

最近我学到了Git的基本概念.我们确实使用了一些git-svn来熟悉它的使用.我想和朋友一起在git上开始我的第一个"真正"项目.

因此,我想问你一般使用Git的最佳做法是什么,如果SVN熟悉的开发人员遇到任何陷阱?

svn git git-svn

8
推荐指数
1
解决办法
1846
查看次数

在长期居住的本地主题分支上工作时,与远程主人"保持联系"

我已经在一个本地话题分支上工作了一段时间,偶尔只做一些改动.

与此同时,分支发展迅速.我决定将主分支中的新更改合并到我的本地主题分支中(与我分支的原始主提交相比几乎没有任何变化):

git fetch
git checkout my_branch
git merge origin/master
Run Code Online (Sandbox Code Playgroud)

但是git警告我:

请输入提交消息以解释为何需要此合并,特别是如果它将更新的上游合并到主题分支中.

这让我很好奇.为什么警告?我应该做的,而不是一个重订?还是樱桃挑选?除此之外,我如何在我的情况下使用rebase或者Cherry-pick?

git version-control

8
推荐指数
1
解决办法
1245
查看次数

如何最小化git合并冲突?

我们公司使用git来跟踪文档/代码更改,几个人进行更改并将其推送到中央存储库。一般来说,对于git或命令行工具,大多数人还是新手。对于他们,我们有脚本可以在进行更改后更新或发布其本地存储库。

是否有任何工作流程能更好地处理此类情况,以最大程度地减少必须由git经验丰富的人员解决的合并冲突?

git shell version-control

6
推荐指数
2
解决办法
2321
查看次数

GIT :: Merging 2分支用另一个分支覆盖一个分支中的内容

我遇到了一个疯狂的问题.我把我的整个项目放在分支中.早些时候,一个人正在研究这个项目,但它是在SVN.他做了一些改变,我需要将这些改变与我的整合.两个项目都具有相同的文件夹结构,唯一的区别是使用的VCS类型.我做了以下

  • 下载了他的代码并删除了.svn文件夹
  • 创建并切换到新分支"code_to_integrate"(指向我的主分支)
  • 复制下载的代码并用它替换我的项目文件夹.(.git文件夹保存为这样)

在这个阶段,如果我运行git status命令,我可以看到更改(文件被标记为已修改)我需要与我的主分支集成.然后,

  • 在那里提交了那些更改.让它的提交ID为c2
  • 签出到我的主分支.(commit id c1)
  • 将其与"code_to_integrate"分支合并.

结果是我的代码在master分支中被"code_to_integrate"分支中的代码覆盖.我失去了我的全部修改.HEAD在c2,我也可以看到c1.如果我使用

git reset --hard c1,

我会收回我的更改.现在,它就像使用命令一样

git合并 - 他们的

我从合并分支(code_to_integrate)获得了整个更改,并且在合并分支(master)中丢失了更改.发生了什么?.这应该是直截了当的吗?任何帮助将不胜感激.提前致谢

svn git version-control merge

6
推荐指数
1
解决办法
236
查看次数

git safe rebase或"尝试rebase,fallback to merge"

我正在考虑将我的仅合并工作流转换为更频繁地使用rebase.在这种特殊情况下,我是唯一的开发人员,但我在多个平台上工作,通常为特定于平台的部分编辑相同的文件,通常具有非冲突的更改.但是我对此有点不确定,因为关于git merge vs git rebase以及它们的安全性的争论(例如看到这个此相关,这是问题的两个最佳答案).

问题:如何做以下的事情,目标是"安全",但仍尽可能干净拉/ rebase/merge:

  • 如果有未推送的提交,则git pull --rebase直到第一次合并操作与本地历史冲突.
  • 然后git pull --no-rebase合并其余部分并进行冲突解决.
  • 可能会切换回基础以进行最后一次非冲突的更改,以使历史记录的并行部分尽可能短.

因此,如果没有冲突,最终结果将带有rebase和良好的线性历史.如果存在冲突,则可以看到合并,但并行历史记录将尽可能短.

这可能是一个简单的普通git命令或两个,有正确的开关(我可以写入拉动脚本或别名)?如果没有,是否可以使用一些现有工具?

另一种看待这个问题的方法:我想自动决定选择rebase还是合并,所以在做pull时我不需要考虑这个细节.

此外,这甚至有意义吗?:)

git merge rebase

5
推荐指数
1
解决办法
466
查看次数

如果没有提交,则重新引导或合并以更新到最新的主服务器

创建了一个关闭master的新分支,但从未真正更改任何代码.一周之后,我回来开始工作,现在掌握了很多变化.

由于我没有改变任何东西,最好是从主分支中重新绑定或合并或其他东西,以便我可以开始使用最新的代码库吗?

git

4
推荐指数
1
解决办法
37
查看次数

如何合并和推送远程分支的更改

git clone git@github.com:foo/bar.git bar-master

git branch release
git push origin release

git clone -b release git@github.com:foo/bar.git bar-release

cd bar-master
touch foo.txt
git commit -m "foo.txt"

cd bar-release
Run Code Online (Sandbox Code Playgroud)

如何将更改从master合并到bar-release并将更改推回到远程origin/release分支.合并更改并将更改推送回远程分支的正确方法是什么.

git

0
推荐指数
1
解决办法
265
查看次数

从原始仓库中提取更新

我们要求班上的学生使用github来保存他们所有的课程项目代码.每个学生都创建了他的回购.(我想我应该创建回购并创建团队,这是我的错误).然后,我在我的组织下分配了每个回购.

我认为,当学生更新原始回购时,我可以简单地进行更改.我认为我对拉力如何运作的理解是错误的.

在下图中,我可以看到,学生已经更新了自己回购了一些新的文件,但有什么办法,我可以简单地更新我已付出了回购?

在此输入图像描述

git github

0
推荐指数
1
解决办法
528
查看次数

变基是合并分支的最佳策略

我有一个父分支和子分支。

当我想将子分支合并到父分支时,据说重新建立分支是最好的合并方法。

如果我们重新调整另一个分支中所做的所有更改都会进入当前的子分支,对吗?

然后,当有人想查看子分支中所做的新更改时,其他分支的更改就会太正确。

有人可以解释一下 Rebasing、Pull request 和 Merge 吗?

我正在尝试找到合并分支的最佳方法。

git rebase pull-request azure-devops merge-request

0
推荐指数
1
解决办法
955
查看次数