问题标签 [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 投票
3 回答
153 浏览

git - 尝试丢弃更改时出现 Git 问题

我做 git 状态:

然后 git checkout xxx/yyy/something.PNG 和 xxx/yyy/something-1.PNG 但是当我再次执行 git status 时,它再次显示:

我正在使用雪豹

谢谢

0 投票
5 回答
20237 浏览

git - 外部的 git checkout 分支

问题:我需要以某种方式检查一个项目的现有分支,该分支已经在我的文件系统上本地克隆,而不是在该项目的特定文件夹中。

解决方案:我正在尝试执行以下操作:

  1. git clone 'github-project-url' 'file-system-folder'
  2. git checkout 'existing-branch' 'file-system-folder'

我确实意识到第二步不太正确,但我也试图避免cd 'file-system-folder'.

0 投票
2 回答
85 浏览

git-push - 这对 Git 可行吗?

我希望我的 git 存储库处于特定提交时的状态。一旦 repo 处于该状态,我希望能够推送到 Github,使远程处于该状态。我知道我可以打电话git checkout <commit hash>,我的本地仓库将处于给定提交时的状态,但它不会让你推送。

我猜我应该做点什么,git checkout但我不知道该怎么做。

感谢您对这个简单问题的任何帮助:)

0 投票
1 回答
428 浏览

git - 为什么 git checkout master 会重置我的编辑?

基本上,我已经在 master 分支中工作了,(我还没有签出到另一个分支)并且在执行 git add 之后。和 git commit,我不小心运行了 git checkout master,现在当我执行 git push 时,它说一切都是最新的(但当然不是)。很奇怪的一个。

0 投票
1 回答
2561 浏览

git - 如何使用 Git 别名启动 Bash 函数

我想在 ~/.gitconfig 中使用 Git 别名,以便它调用 bash 函数(如果已定义),否则调用常规git checkout.

这是我设计的:

问题是 Git 使用 /bin/sh (恰好dash在我的情况下)并且它会compgen因为它是bash内置的而停止运行。

有什么方法可以确保 Gitbash用来执行这个命令?

请注意,它vxzExecuteGitCheckout()是在一个尚未包含在 ~/.bashrc 中的文件中定义的。

另一个问题是,如果我使用,如果找不到这个 Bash 函数git co -b param1 param2 ...,上面的别名定义会传递-b param1 param2给吗?git checkout

0 投票
4 回答
105459 浏览

git - 从 git 中的旧提交恢复文件

我有一个几周前做的旧提交。我只想从该提交中恢复一个文件。我该怎么办?

0 投票
1 回答
746 浏览

git - git中的“跟踪”概念有不同的含义吗?

我运行'git branch -r'并得到

起源/分支1

起源/分支2

在手册页中,-r 选项将“列出或删除(如果与 -d 一起使用)远程跟踪分支”。所以 origin/branch1 和 origin/branch2 被称为远程跟踪分支。但是,您不能直接提交到远程跟踪分支(将创建一个匿名分支)。远程跟踪分支仅在运行“git fetch”时跟踪远程分支。

这是语义对我来说有点模糊的地方。如果我那时

git checkout -b 分支 1 原点/分支 1

我得到以下输出:“分支分支 1 设置为从源跟踪远程分支分支 1。切换到新分支 'branch1'”

这是我的问题,尽可能详细地澄清什么让我感到困惑......由于设置了 branch1 以从源跟踪远程分支 branch1,因此“branch1”是否被视为远程跟踪分支?如果是这样,这是否与运行 'git branch -r' 时'origin/branch1' 已被列为远程跟踪分支的事实相冲突?据我了解,存在本地(主题)分支或远程跟踪分支。运行“git checkout -b branch1 origin/branch1”时,我是否创建了一个本地(主题)分支(我可以在其上添加提交),它通过获取来跟踪远程分支?运行“git branch”现在给出:“* branch1”,运行“git branch -r”仍然给出“origin/branch1”和“origin/branch2”。我创建了 branch1 来添加提交并跟踪 origin/branch1。哪个被认为是远程跟踪分支,“git branch”输出中的“branch1”,或“git branch -r”输出中的“origin/branch1”?

0 投票
3 回答
11745 浏览

git - 在 post-receive 挂钩中重用 GIT_WORK_TREE 来管理一些文件

我已经使用这个“教程”来设置 DSP 环境:http ://toroid.org/ams/git-website-howto (是的,我没有 T)。

我的工作流程非常简单:

  1. 本地开发(D
  2. 提交一些事情
  3. 提交更多的东西
  4. 推送到暂存(和 Github)(S
  5. 在 Staging 上测试新代码
  6. 推送到生产 ( P )

我的代码包含由我的代码缩小然后保存到 1 个文件的 CSS 文件:all.css. 在本地,我已经关闭了该选项,因此我不必all.css每次更改 CSS 时都手动删除。在暂存和生产中,它们应该尽快缓存(因此all.css从单独的 CSS 文件创建)。

问题是每次我推送时,我都必须删除all.css(并且all.js- 完全相同的故事)才能看到更改(并正确测试)。

从教程中,我制作了一个post-receive挂钩,将更改签出到某个文件夹(Apache 读取代码的地方)。

我目前的post-receive钩子:

我想重用$GIT_WORK_TREE以删除$GIT_WORK_TREE(being www/all.cssand www/all.js) 中的两个文件,但我不能......下一行没有 var $GIT_WORK_TREE 。

所以我把它改成了这个,但我不喜欢那个,特别是如果我将来想用它做更多的事情:

$GIT_WORK_TREE不会像这样重复使用。

我试过的东西不起作用:

rm:文件不存在等(/www/all.css)($GIT_WORK_TREE为空)

致命:此操作必须在工作树中运行

致命的:不在 git 存储库中(或任何.....)

我想我的问题与 Bash 的工作方式和 GIT 的工作方式一样多 =)

0 投票
3 回答
11121 浏览

git - 在 git 中切换分支 - 我什么时候会得到“你有本地更改无法切换分支。”?

可能的重复:
git:切换分支并忽略任何更改而不提交。
Git 分支行为异常

我知道一般建议是在 git 中切换分支之前有一个干净的状态。( stash 或 park-commit )。我试图了解我什么时候会得到“您有本地更改无法切换分支”,我无法遵循逻辑:

我有一个名为 version.txt 的文件的存储库,其中包含文本“1”:

git checkout -b 新

echo 2 >> version.txt(工作目录不脏,修改了文件)

git checkout master (这是怎么工作的?我还没有阶段\提交我对新的更改)

如果我删除新分支中的文件内容或先暂存文件,也会发生同样的情况。

有人可以帮助我了解我什么时候会收到“您有本地更改无法切换分支”。?

谢谢,冉

0 投票
2 回答
881 浏览

git - 如何获得特定提交时的工作目录内容

我有一个 git 存储库,其中包含一些提交。我想重现工作目录的确切状态,因为它是在特定提交之后(这里我想我已经提交了所有所做的更改)。

我尝试使用git checkout,但此命令不会删除工作目录中的现有文件(在所需提交后添加)。

一个简单的例子来说明我的问题。我使用以下命令准备了存储库

现在目录看起来像这样

first.file有以下内容

现在我想恢复工作目录,因为它在第一次提交之后看起来就正确(fb05f7e

但是second.file并且third.file仍在目录中