问题标签 [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.
git - 尝试丢弃更改时出现 Git 问题
我做 git 状态:
然后 git checkout xxx/yyy/something.PNG 和 xxx/yyy/something-1.PNG 但是当我再次执行 git status 时,它再次显示:
我正在使用雪豹
谢谢
git - 外部的 git checkout 分支
问题:我需要以某种方式检查一个项目的现有分支,该分支已经在我的文件系统上本地克隆,而不是在该项目的特定文件夹中。
解决方案:我正在尝试执行以下操作:
git clone 'github-project-url' 'file-system-folder'
git checkout 'existing-branch' 'file-system-folder'
我确实意识到第二步不太正确,但我也试图避免cd 'file-system-folder'
.
git-push - 这对 Git 可行吗?
我希望我的 git 存储库处于特定提交时的状态。一旦 repo 处于该状态,我希望能够推送到 Github,使远程处于该状态。我知道我可以打电话git checkout <commit hash>
,我的本地仓库将处于给定提交时的状态,但它不会让你推送。
我猜我应该做点什么,git checkout
但我不知道该怎么做。
感谢您对这个简单问题的任何帮助:)
git - 为什么 git checkout master 会重置我的编辑?
基本上,我已经在 master 分支中工作了,(我还没有签出到另一个分支)并且在执行 git add 之后。和 git commit,我不小心运行了 git checkout master,现在当我执行 git push 时,它说一切都是最新的(但当然不是)。很奇怪的一个。
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
git - 从 git 中的旧提交恢复文件
我有一个几周前做的旧提交。我只想从该提交中恢复一个文件。我该怎么办?
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”?
git - 在 post-receive 挂钩中重用 GIT_WORK_TREE 来管理一些文件
我已经使用这个“教程”来设置 DSP 环境:http ://toroid.org/ams/git-website-howto (是的,我没有 T)。
我的工作流程非常简单:
- 本地开发(D)
- 提交一些事情
- 提交更多的东西
- 推送到暂存(和 Github)(S)
- 在 Staging 上测试新代码
- 推送到生产 ( 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.css
and www/all.js
) 中的两个文件,但我不能......下一行没有 var $GIT_WORK_TREE 。
所以我把它改成了这个,但我不喜欢那个,特别是如果我将来想用它做更多的事情:
$GIT_WORK_TREE
不会像这样重复使用。
我试过的东西不起作用:
rm:文件不存在等(/www/all.css)(
$GIT_WORK_TREE
为空)
致命:此操作必须在工作树中运行
致命的:不在 git 存储库中(或任何.....)
我想我的问题与 Bash 的工作方式和 GIT 的工作方式一样多 =)
git - 在 git 中切换分支 - 我什么时候会得到“你有本地更改无法切换分支。”?
可能的重复:
git:切换分支并忽略任何更改而不提交。
Git 分支行为异常
我知道一般建议是在 git 中切换分支之前有一个干净的状态。( stash 或 park-commit )。我试图了解我什么时候会得到“您有本地更改无法切换分支”,我无法遵循逻辑:
我有一个名为 version.txt 的文件的存储库,其中包含文本“1”:
git checkout -b 新
echo 2 >> version.txt(工作目录不脏,修改了文件)
git checkout master (这是怎么工作的?我还没有阶段\提交我对新的更改)
如果我删除新分支中的文件内容或先暂存文件,也会发生同样的情况。
有人可以帮助我了解我什么时候会收到“您有本地更改无法切换分支”。?
谢谢,冉
git - 如何获得特定提交时的工作目录内容
我有一个 git 存储库,其中包含一些提交。我想重现工作目录的确切状态,因为它是在特定提交之后(这里我想我已经提交了所有所做的更改)。
我尝试使用git checkout
,但此命令不会删除工作目录中的现有文件(在所需提交后添加)。
一个简单的例子来说明我的问题。我使用以下命令准备了存储库
现在目录看起来像这样
first.file
有以下内容
现在我想恢复工作目录,因为它在第一次提交之后看起来就正确(fb05f7e
)
但是second.file
并且third.file
仍在目录中