草庐IT

sparse-checkout

全部标签

git status 显示修改,git checkout -- <file> 不删除它们

我想删除对我的工作副本的所有更改。运行gitstatus显示修改的文件。我所做的一切似乎都无法删除这些修改。例如:rbellamy@PROMETHEUS/d/Development/rhino-etl(master)$gitstatus#Onbranchmaster#Changedbutnotupdated:#(use"gitadd..."toupdatewhatwillbecommitted)#(use"gitcheckout--..."todiscardchangesinworkingdirectory)##modified:Rhino.Etl.Core/Enumerables/C

git - git revert, git checkout和git reset三者之间有什么不同?

我正在尝试学习如何将文件和项目还原或回滚到以前的状态,并且不了解gitrevert,checkout和reset之间的区别。为什么有3个不同的命令看似相同的目的,以及何时应该选择一个而不是另一个? 最佳答案 这三个命令的用途完全不同。它们甚至都不遥不可及。gitrevert该命令将创建一个新的提交,以撤消对先前提交的更改。此命令将新历史记录添加到项目中(它不会修改现有历史记录)。gitcheckout此命令从存储库中checkout内容,并将其放入您的工作树中。它也可能具有其他效果,具体取决于调用命令的方式。例如,它还可以更改您当前

git-checkout 以新名称检查文件的旧版本

我在编辑器中打开了文件“main.cpp”。我也想在编辑器中查看“main.cpp”的先前修订。我现在的做法是这样的。close"main.cpp"intheeditorprompt>mvmain.cpptmpprompt>gitcheckoutHEAD^main.cppprompt>mvmain.cppold_main.cppprompt>mvtmpmain.cppprompt>open"main.cpp"and"old_main.cpp"intheeditor是否可以简化,这样我就不必在编辑器中关闭“main.cpp”?我希望的是可以执行此操作的git-checkout变体。更新:

git - Git checkout 双破折号的含义

这个git命令中文件名前的双破折号是什么意思?gitcheckout--ours--path/to/file.txtgitcheckout--theirs--path/to/file.txt它们是强制性的吗?是否等同于gitcheckout--ourspath/to/file.txtgitcheckout--theirspath/to/file.txt 最佳答案 假设我的Git存储库中有一个名为path/to/file.txt的文件,我想恢复对它的更改。gitcheckoutpath/to/file.txt现在假设文件名为maste

git - 如何以编程方式确定当前 checkout 的 Git 分支

这个问题在这里已经有了答案:HowdoIgetthecurrentbranchnameinGit?(48个回答)关闭4年前。在Unix或GNU脚本环境(例如Linux发行版、Cygwin、OSX)中,确定当前在工作目录中checkout哪个Git分支的最佳方法是什么?此技术的一种用途是自动标记发布(如svnversion将用于Subversion)。另请参阅我的相关问题:HowtoprogrammaticallydeterminewhetheraGitcheckoutisatag,andifsowhatisthetagname?

Git:如何从远程原始主机更新/ checkout 单个文件?

场景:我在本地对单个文件进行了一些更改,然后运行​​gitadd、gitcommit和gitpush文件被推送到远程originmaster仓库我有另一个本地存储库,它是通过Capistrano使用来自该远程存储库的“remote_cache”方法部署的现在我不想部署整个应用程序,而只想更新/checkout该单个文件。这在某种程度上可以用git实现吗?我找不到任何有用的东西,也无法弄清楚。使用SVN,我只是做了svnupfile瞧。 最佳答案 可以这样做(在已部署的存储库中)gitfetchgitcheckoutorigin/ma

git - "git reset"和 "git checkout"有什么区别?

我一直认为gitreset和gitcheckout是一样的,从某种意义上说,它们都会将项目恢复到特定的提交。但是,我觉得它们不能完全相同,因为那会是多余的。两者之间的实际区别是什么?我有点困惑,因为svn只有svnco来恢复提交。已添加VonC和Charles很好地解释了gitreset和gitcheckout之间的区别。我目前的理解是gitreset将所有更改恢复到特定提交,而gitcheckout或多或少地为分支做准备。我发现以下两个图表对于理解这一点非常有用:添加了3来自http://think-like-a-git.net/sections/rebase-from-the-gr

git - 如何在 checkout 之前的提交后返回到最新的提交?

我有时会检查一些以前版本的代码来检查或测试。如果我想修改以前的提交,我已经看到了如何操作的说明——但假设我不做任何更改。在我完成之后gitcheckoutHEAD^,我如何回到分支的顶端?..gitlog不再显示最新提交的SHA。 最佳答案 如果您知道要返回的提交是某个分支的头部,或者被标记了,那么您可以gitcheckoutbranchname您还可以使用gitreflog查看您的HEAD(或任何其他ref)过去指向的其他提交。编辑添加:在较新版本的Git中,如果你只运行gitcheckout或其他东西来移动你的HEAD一次,你也

Git:无法 checkout 分支 - 错误:pathspec '...' 与 git 已知的任何文件都不匹配

我不确定为什么我无法checkout我之前工作过的分支。请参阅以下命令(注意:co是checkout的别名):ramon@ramon-desktop:~/source/unstilted$gitbranch-a*developfeature/datts_rightfeature/user_controlled_menufeature/user_controlled_site_layoutsmasterremotes/origin/HEAD->origin/masterremotes/origin/developremotes/origin/feature/datts_rightremo

git - 将分支指针移动到不同的提交而不 checkout

要移动checkout分支的分支指针,可以使用gitreset--hard命令。但是如何将未checkout分支的分支指针移动到不同的提交(保留所有其他内容,如跟踪的远程分支)? 最佳答案 gitbranch--force[]如果省略new-tip-commit,则默认为当前提交。new-tip-commit可以是分支名称(例如,master、origin/master)。 关于git-将分支指针移动到不同的提交而不checkout,我们在StackOverflow上找到一个类似的问题: