如何使用git切换回“ master”?


135

我已经做了第一次承诺;然后创建一个分支(假设branch1)。

在这个分支中,我创建了一个目录“ example”并提交。在GitHub中,我看到了新分支以及添加的新目录“ example”。

现在,我想知道如何“同步”回主服务器。并删除“ example”文件夹(因为它在master文件夹中不存在)。

编辑:find . -type d -empty -exec touch {}/.gitignore \; 做了工作。

Answers:


239

您需要检出分支:

git checkout master

有关更多信息,请参见Git备忘单

编辑:请注意git不会管理空目录,因此您必须自己管理它们。如果目录为空,则直接将其删除。


“已经掌握了”,但我的“ example”目录仍然存在。我想与master同步(因此没有此文件夹,因为它在master分支中不存在)
Disco

#在分支主服务器上没有要提交的内容(工作目录干净)
Disco

@Disco:我以前曾遇到过此问题-如果绝对未在索引中对其进行跟踪,则可以只在本地删除目录,然后在找到时将其取回git checkout branch1
白金Azure

太糟糕了;没有选择的余地吗?我脑海中无法追踪目录
Disco

6

根据Git备忘单,您必须首先创建分支

git branch [branchName]

然后

git checkout [branchName]

2
我认为您可以再次检查该问题
eli

2

要删除分支,您必须存储在分支上所做的更改,或者需要提交在分支上所做的更改。如果您在当前分支中进行了任何更改,请按照以下步骤操作。

  1. git stash 要么 git commit -m "XXX"
  2. git checkout master
  3. git branch -D merchantApi

注意:以上步骤将在本地删除分支。


1

我正在设法弄清楚那边发生的事情。您的“示例”文件夹中有东西吗?Git不会跟踪空文件夹。

如果分支并切换到新分支,然后创建一个新文件夹并将其保留为空,然后执行“ git commit -a”,则不会在提交中获得该新文件夹。

这意味着它是未跟踪的,这意味着签出其他分支不会将其删除。


git初始化了我的目录(/ home / dev),然后我做了“ commit -a”并推送到了github。然后我创建了一个新分支;创建一个目录“ example”,其中包含一些文件,并提交分支。现在,我想回到初始阶段(主目录),而无需在新分支中创建的“ example”目录。
迪斯科

也在master分支中,目录“ example”不存在(如我在github中所见)
Disco

更新:示例目录中有一个空文件夹;这就是为什么它仍然向我显示目录吗?如何摆脱使用Git吧
迪斯科

你不知道 git对此一无所知。只需删除它。检出master文件应该从您的工作目录中删除分支中但master文件中没有的所有文件。
丹·雷

1

将带您到master分支。

git checkout master

要切换到其他分支(忽略方括号,这只是出于强调目的)

git checkout [the name of the branch you want to switch to]

要创建一个新分支,请使用-b,例如(忽略方括号,这只是出于强调目的)

git checkout -b [the name of the branch you want to create]

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.