我不小心进入了
git checkout -b develop
Run Code Online (Sandbox Code Playgroud)
代替
git checkout develop
Run Code Online (Sandbox Code Playgroud)
尽管开发分支已经存在,但它说它已经创建了。
这是否影响了分支中的代码develop?我找不到任何关于此的明确文档。
\n\n这是否影响了开发分支中的代码?我找不到任何\n关于此的明确文档。
\n
没有。你的develop分支位于幽冥世界,你的下一步选择将决定可能发生的事情。
据我了解,情况如下:如果您develop之前已经签出,您将无法运行此命令:
git checkout -b develop\nRun Code Online (Sandbox Code Playgroud)\n响应将是\xe2\x80\x94,我刚刚在本地计算机上进行测试以确认\xe2\x80\x94将是:
\nfatal: A branch named 'develop' already exists.\nRun Code Online (Sandbox Code Playgroud)\n那么您的案例在git checkout -b develop运行时发生了什么?简单的。您之前没有结账develop。因此 git 正在执行该命令告诉它执行的操作:创建一个名为 的本地分支develop。
现在,如果您在那里做了一些事情,然后将其推送到原点。好吧,如果你强迫这种情况的话,那就会变得一团糟。请继续阅读。
\n为了进一步澄清问题,如果您直接克隆 git 存储库而不执行任何其他操作,然后在该存储库目录中运行以下命令,如果运行以下命令,您将看到类似的内容git branch -a:
* master\n remotes/origin/HEAD -> origin/master\n remotes/origin/develop\n remotes/origin/master\nRun Code Online (Sandbox Code Playgroud)\n请注意*主控及其remote/origin/后面的项目。这是理解你做了什么以及它为何能够发生的关键。您会看到,在您实际签出之前,它只是作为本地克隆中的develop远程引用(关键点)存在。但是,当您执行此操作后,如果您随后git checkout develop运行,结构将如下所示:git branch -a
* develop\n master\n remotes/origin/HEAD -> origin/master\n remotes/origin/develop\n remotes/origin/master\nRun Code Online (Sandbox Code Playgroud)\n请注意,现在您已*连接到develop这意味着这是当前签出的分支。
理解git的关键是有本地副本,也有远程引用。任何过去的内容都master不会\xe2\x80\x99 被检查,直到你真正检查它的那一刻。
除此之外,让 \xe2\x80\x99s 说你在没有本地的情况下做了一个git checkout -b developfrom 。好的,太好了!现在对您的代码进行一些处理,然后执行. 您很可能会收到以下消息:masterdevelopgit pull
There is no tracking information for the current branch.\nPlease specify which branch you want to merge with.\nSee git-pull(1) for details\n\n git pull <remote> <branch>\n\nIf you wish to set tracking information for this branch you can do so with:\n\n git branch --set-upstream-to=origin/<branch> develop\nRun Code Online (Sandbox Code Playgroud)\n这基本上意味着您的本地develop未连接到远程develop,因此 git 需要帮助来澄清问题。像这样的事情应该会提示您出现问题。
可是等等!你还没有100%安全。如果您这样做,事情可能会变得可怕git push origin develop。如果您确实有一个develop在远程命名的分支,您很可能会用这个新分支覆盖它。因此,如果可以的话,请避免这种情况。但在某些情况下,响应可能是这样的:
To git@github.com:CoolCoderDude4Life/The-Best-Repo.git\n ! [rejected] develop -> develop (non-fast-forward)\nerror: failed to push some refs to 'git@github.com:CoolCoderDude4Life/The-Best-Repo.git\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. Integrate the remote changes (e.g.\nhint: 'git pull ...') before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\nRun Code Online (Sandbox Code Playgroud)\n此时您会看到,您确实收到了另一个警告,表明出现了问题。但与此同时,您可以简单地匆忙阅读本文并按照说明进行操作,BOOM工作就会以某种方式丢失。
\n可能比您正在寻找的答案更长。这是关于版本控制系统如何成为安全网的一个不错的教学时刻,但安全网可能会崩溃。因此,良好的编码习惯需要成为工作流程的一部分。
\n| 归档时间: |
|
| 查看次数: |
1344 次 |
| 最近记录: |