问题标签 [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:签出替代分支时,我想清除忽略的文件
假设我在master中有一个结构。
文件 xyz 不应该被跟踪,所以我添加到 .gitignore target/* 并提交结构
- git commit -m '初始结构'
我创建了 2 个分支
- git 分支 t1
- git 分支 t2
并切换到 t1
- git结帐t1
我开始做一些工作,编译东西,这样目标就被填充了。我将更改提交给 t1。
- git commit -a 't1 特定更改'
然后我切换到 t2
- git结帐t2
当我查看目标时,它仍然填充有分支 t1 处于活动状态时创建的文件,而我希望将这些“清除”
我发现了一个类似的讨论,指出 git 的行为应该与我看到的不同。当我切换分支时,Git 正在删除一个被忽略的文件
我错过了什么?
弗朗西斯
git - Git:使用还原或签出撤消推送的更改?
Git 是一个了不起的工具,但我还没有想到最好的方法来撤消推送的更改。这是情况。
我在一个分支上,并且已经将几个提交推送到 GitHub。从那以后,我决定我在兔子洞里走得太远了,我们需要废弃我已经完成的几个提交,然后重新开始。本质上,我需要将所有推送的提交反转回前一个。这是我认为合适的两个命令
那么,我说的对吗?我需要对要返回的特定提交进行 git checkout 吗?还是在这个复杂的过程中有我不理解的东西?
谢谢。
git - 删除或撤消对远程 Git 存储库的推送
我创建了一个远程 git 存储库并继续从错误的本地存储库向它推送代码。
本地仓库很好,我只想删除我推送到远程的内容并重新开始。
我已经尝试过git push origin :master
,但出现错误:
有没有简单的方法来检查它?“签入”或“签入”(以及其他变体)不会产生相关结果。
git - git fetch 的奇怪行为
我在使用 GIT fetch 时遇到了一个大问题……看这个
还有一个git fetch
:
还有一个...
还有一个git fetch
:
我的refs/remotes/origin/HEAD
并且refs/remotes/origin/master
总是强制更新到422b4cb
...
发生了什么?422b4cb
...是一个旧的承诺。
git - Git推送和弹出?即,结帐最后一个状态
我正在编写一个 Bash 脚本,我想签出一个标签,然后签出回到我开始的地方。
我试过git co HEAD@{1}
了,但是当从 master 开始时,这让我回到了 master 的提交 SHA,但头却是分离的。
Git有类似pushd
&的东西吗?popd
git - 如何在以下情况下获得更改?
我试图了解git是如何工作的。所以我初始化了一个空的 repo 并向其中添加了一个文件,如下所示。
现在我使用以下命令序列将它克隆到这个 repo
之后,我对 README 文件进行了更改,提交并使用以下命令将它们推送到第一个 repo
现在在两个存储库中运行git log显示相同的内容,即
提交 cdf192f7e26e734c7a56cc830ade2e2d13c6fb0d 作者:Adnan Waheed 日期:
2011 年 3 月 1 日星期二 14:05:12 +0500提交 f8b75838e728e46cae949f66ff86d29c0864d976 作者:Adnan Waheed 日期:
2011 年 3 月 1 日星期二 14:03:23 +0500
但我不知道如何在原始仓库中获取更改,即/home/adnan/workspace/git-test。如果我尝试执行git checkout,我会收到以下消息:
如何获取我在克隆仓库中所做的更改并推送?
git - 为什么切换分支的git命令叫“git checkout”?
为什么切换分支的 git 命令命名为git checkout
?
这真的有意义吗?
我会命名它git switch
。此外,git checkout
还有其他含义:例如还原文件(如svn revert
)
git - 结帐后获取提交的更改
有什么方法可以获取我在结帐新分支时留下的未提交更改(愚蠢,我知道!!)
我切换回我所在的分支,但我仍然收到以下消息,让我相信他们可能是我可以到达的地方!
git - git checkout 较新的分支
我切换到较旧的提交:git checkout $HASH
以查找我在较旧版本的目录中所做的事情。现在我想回到最新的提交,但我再也找不到那个哈希了?当我这样做时,git log
它只会显示我当前所在的提交中较旧的提交。我怎样才能再次切换到最新的提交?
git - 上一个版本的签出目录中的子目录不会在 Git 中消失?
我正在尝试git checkout <hash> <directory>
在我的存储库中签出目录的先前版本。这可以将目录中的文件恢复到以前的状态,唯一的问题是自检出修订后添加的子目录不会消失。
例如,如果我的目录结构如下:
如果我这样做git checkout <hash>
了,那么我会进入分离的 HEAD 模式,一切都匹配得很好。相反,如果我这样做git checkout <hash> thing/
,内容thing/dir1/
将恢复,但thing/dir2/
会保持不变。
运行git status
显示来自 的文件修改thing/dir1/
,但未提及thing/dir2/
. 这很奇怪,因为在 HEAD^ 的上下文中,thing/dir2/
不应该存在,因此应该消失。 git clean
没有帮助,因为它甚至没有显示为未跟踪。
有没有办法签出完美匹配的目录的先前版本,而无需签出整个工作树?
更新:
看起来这会起作用:
这使我的工作树和索引处于奇怪的状态,但具有预期的效果。