我设法犯了一个大错(在星期一早上)在Master上工作,忘记创建新的分支,对文件进行更改然后无意中恢复到master,丢失所有更新.我没有提交更新的文件.
我丢失了所有更新还是可以检索它们?
不要问我怎么样,因为每当我想到它,我都必须在脸上打自己.
我有一个主分支和一个工作branch_1
.我想branch_1
完全按原样"移动" master
.所以我想要这样的东西:
git checkout master
git merge branch_1 # I don't know what is correct...
Run Code Online (Sandbox Code Playgroud)
我做的事情,但我有大量的文件搞砸了恼人的冲突.所以现在master包含完全相同的文件,branch_1
避免任何冲突,只是覆盖文件.有帮助吗?
我有2个分支本地回购master
和develop
.
develop
分支我有我的所有Drupal 8核心代码master
分支我有1提交(初始提交)在我的远程仓库中,我将所有Drupal 8核心代码放在分支中develop
.如何在远程主分支中获取此代码?我如何合并这些回购?
更新:
当我这样做时,git status
我得到:
On branch master
Your branch is up-to-date with 'origin/master'.
Untracked files:
(use "git add <file>..." to include in what will be committed)
griffioenrotterdam.sublime-project
griffioenrotterdam.sublime-workspace
sites/
nothing added to commit but untracked files present (use "git add" to track)
Run Code Online (Sandbox Code Playgroud)
我需要做什么?
更新2:
当我这样做时,git checkout develop
我得到:
error: The following untracked working tree files would be overwritten by checkout:
sites/default/default.services.yml
sites/default/default.settings.php …
Run Code Online (Sandbox Code Playgroud) 我已经将Gerrit配置为允许Push Merge Commit
在我的分支上,但是当我尝试推送合并提交时仍然会出现以下错误:
! [remote rejected] ANDROID-foo -> ANDROID-foo (you are not allowed to upload merges)
Run Code Online (Sandbox Code Playgroud)
我正在运行Gerrit 2.8-1-gaa9367b.
我有一个名为“myRepository”的远程 GitHub 存储库。在那里我有两个分支:master 和 test。我将这两个分支检出到我的工作目录:c:\master、c:\test。
当我在 c:\test 时,我做git merge master
了,但出现错误
merge: master - not something we can merge
Did you mean this?
remoterepo/master
Run Code Online (Sandbox Code Playgroud)
你能向我解释这个错误吗?我试图在我的工作目录中将 test 合并到 master (因此 c:\master 将使用 c:\test 代码更新),然后我想将更新推送到远程 master。
我在一家公司工作,我们决定要更正确地使用 git。我负责将开发分支集成到主分支中,我对如何在不同场景下正确合并感到困惑。
我们现在的工作方式:开发人员只需在dev
分支上重新调整他们的功能分支即可。完成后,他们将向dev
分支提交合并请求。然后,我会检查代码(我们是一个小团队),并接受合并请求。之后他们只需删除功能分支即可。当dev
分支经过正确测试后,我会在 GitLab 中创建一个到主分支的合并请求,将其分配给我自己并批准它。这会在main
分支上创建一个提交:
将分支“dev”合并到“main”
然而,现在该dev
分支落后了一次提交main
。我该如何最好地解决这个问题?到目前为止,我只是简单地再次合并main
,dev
但这看起来很麻烦而且奇怪,因为它们现在是我dev
分支中的另一个提交;
将分支“main”合并到“dev”
我也可以在 main 上对 dev 进行 rebase,但我了解到“你永远不能对公共分支进行 rebase”
这个问题告诉我正确的方法是首先将 main 合并到 dev 中,以确保 main 分支保持干净。这是实现合并的最佳方式吗dev --> main
?
这是否受到 git fast-forwards 默认合并这一概念的影响?我读到,当从当前分支尖端到目标分支存在线性路径时,就会发生快进合并。这意味着,当合并时dev
分支只是在x
提交 to之前main
,并且同时没有对 main 进行提交(这在我们的工作中很常见,因为我们技术上只提交 from main
)dev
,合并将自动进行快进合并?这种行为对于合并dev
到来说是否有问题main
,-no-ff
合并时是否应该使用该标志?
如果我理解正确,则快进合并会将提交集成dev
到分支中main
,而--no-ff
合并会导致合并始终创建一个新的提交对象,即使可以通过 …