问题标签 [git-checkout]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
2190 浏览

git - GIT checkout 命令路径的简单解释

checkout 命令的 git 文档中,可以找到以下文本:

...如果没有给出路径, git checkout 也会更新 HEAD 将指定的分支设置为当前分支...。

谁能更简单地解释一下这意味着什么?对不起,如果它看起来很简单,并且通过该页面阅读,我似乎无法想出它的确切含义。对不起,如果这看起来很基本..

特别是我对结帐如何更新 HEAD 感到困惑。我通常设想 checkout 会影响工作目录——这是 git 独有的功能,因为您正在更新存储库的本地副本以便以后使用它?

0 投票
2 回答
588 浏览

git - 在对旧提交进行本地更改后,如何返回我的分支?

我试图通过使用该git checkout命令来获取我的代码的以前副本。不过,在使用它之前,我使用提交了最新版本的代码git commit.

使用后git checkout到以前的版本后,我对代码进行了更改。Git 现在通知我,因为我已经进行了更改,所以我不能再恢复到我提交的最新版本。

我不在乎我对我签出的这段代码所做的更改,我只想回到最新版本的代码。我该怎么做呢?

使用该命令git log不再显示检出前的最新版本到以前的版本。

0 投票
3 回答
2553 浏览

git - git checkout 某些文件尽管有冲突

我经常发现自己只想签出树中的某些文件但不能,因为我已经在本地修改了它们并且不想尝试找出合并的麻烦(我不想合并任何东西 - 我只想要某些文件的 git 版本) .

那么,如何强制签出这些文件分散在目录结构中的“db-backup *”?

例如

谢谢,

河。

0 投票
1 回答
1141 浏览

git - Git检出文件-文件名中的大小写


Git新手在这里:)

面临与大小写相关的问题:文件aspnetdb.mdf在几次提交前已从存储库中删除,我决定从一些较早的提交中恢复它,并且这样做是这样的:

想从第三次回提交中获取文件

但是git说,没有这样的文件。
然后我执行了以下操作:

效果很好 - 我有需要的文件。

然而。命令git checkout master~3 aspnetdb_log.ldf(带有小写文件名)命令执行得很好。在所有开发期间。处理两个文件以相同的方式处理(没有黑客重命名等:))。

如何解释这种行为?我做错了什么?

0 投票
1 回答
216 浏览

git - 如果当前位于子目录下,是否需要在 GIT 中取消暂存文件的完整路径?

回购:合并测试

$密码

/gitvobs/mergetest/苹果

$git 状态

在分支 br1

已更改但未更新:

(使用“git add ...”来更新将要提交的内容)

(使用“git checkout -- ...”丢弃工作目录中的更改)

$git checkout 里面

错误:pathspec 'inside' 与 git 已知的任何文件都不匹配。

$git checkout apple/inside完美运行

所以每次,当我在子目录中时,我是否需要指定文件的完整路径以取消暂存更改?

add 不是这种情况(我可以在任何地方使用 'git add file-name' 添加文件)

这是 GIT 的行为方式还是在其他版本的 GIT 中发生了变化?

我正在使用 git 版本 1.6.6

谢谢

0 投票
3 回答
11808 浏览

git - 活动 Git 分支在 hudson CI 上是“(无分支)”

我的 Ant build.xml 脚本以

Hudson CI 设置为在任何分支更改时构建。控制台输出是...

从控制台输出中,Hudson 知道它正在构建主题分支 DPM-48,但未设置环境变量 GIT_BRANCH 并且“git 分支”返回 git 处于“分离 HEAD”状态

我想知道的是我在哈德逊建立的哪个分支。必须有办法做到这一点。

0 投票
3 回答
2192 浏览

git - Git:从另一个分支只添加文件的某些部分的最佳方法?

假设您有一个分支master和另一个分支production,它们都包含文件的一个版本prog.py,以及许多其他文件。假设您修改了生产分支中的许多文件,包括prog.py. 现在,将分支中的一些更改应用于分支中的版本的最佳方法是什么?prog.pyproductionmaster

我开始移动到master分支并从分支导入文件production

因为我希望能够git add -p手动进行并选择更改。问题在于prog.py工作树和索引中都存在问题。如何在不触及工作树的情况下将其从索引中删除?

或者有没有更好的方法来选择哪些更改prog.py应该从production分支导入到master分支中?

0 投票
3 回答
9315 浏览

git - Git:在分支之间移动更改而不更改工作目录

用例:每次我想将提交从一个 git 分支移动到另一个分支时,我都会执行以下一系列操作:

  1. [提交到工作分支]
  2. git checkout 分支合并到
  3. git cherry-pick 目标提交
  4. git push
  5. git checkout 工作分支

唯一的例外情况很好 - 每次我执行 'git checkout' 时,git 工作目录内容都会更改(预期),这会导致我的 IDE(IntelliJ IDEA)执行内部状态更新(因为受监控的文件系统子树在外部被修改)。这真的很烦人,尤其是在大量小提交的情况下。

我看到了两种方法:

  1. 执行“大量挑选”,即执行大量提交;将他们转移到另一个分支机构,例如在工作日结束时;
  2. 有第二个本地 git 存储库并对其执行樱桃选择,即每次实际提交和推送到工作分支时,转到第二个存储库,拉取更改并在那里执行樱桃选择;

我不喜欢第一种方法,因为它可能会忘记移动特定的提交。第二个看起来有点……不自然。

基本上,如果我可以说 git '将这个提交从名为 branchX 的分支移动到分支 branchX+1' 而不更新工作目录,那将是完美的。

问题:是否可以执行上述操作?

0 投票
3 回答
3943 浏览

git - “git 分支 --track” 与 “git checkout --track”

“git branch --track”和“git checkout -b --track”有什么区别,如果有的话?

0 投票
3 回答
1770 浏览

git - 在 Git 中签出早期标签以用于只读目的的最简洁方法

我的本地机器上有一个工作树,还有一个远程存储库。假设我想在一个已知标记处快速构建我的项目的早期版本,而不会干扰工作版本的当前状态。我的倾向是检查一棵单独的树,这似乎像这个问题一样:

使用 Git 下载特定标签

使用来自远程存储库的克隆,然后在那里进行结帐。但是克隆做了很多工作并拉下了所有的修订状态。有没有什么轻量级的说法“在这个提交/标签中获取世界的当前状态并将其喷射到这个目录中?” (不需要进一步的修订控制——就 Git 而言,它是“只读的”。)

也许不是——只是检查。

谢谢。