标签: git-checkout

什么是git标签,如何创建标签以及如何结帐git remote tag(s)

当我签出远程git标签时使用这样的命令:

git checkout -b local_branch_name origin/remote_tag_name
Run Code Online (Sandbox Code Playgroud)

我得到这样的错误:

error: pathspec `origin/remote_tag_name` did not match any file(s) known to git.
Run Code Online (Sandbox Code Playgroud)

当我使用git tag命令时,我可以找到remote_tag_name.

git git-checkout git-tag

468
推荐指数
4
解决办法
56万
查看次数

Git checkout:更新路径与切换分支不兼容

我的问题与切换分支时的致命Git错误有关.

我尝试使用该命令获取远程分支

git checkout -b local-name origin/remote-name
Run Code Online (Sandbox Code Playgroud)

但我收到此错误消息:

致命:git checkout:更新路径与切换分支不兼容.
您是否打算签出无法解析为提交的"origin/remote-name"?

如果我手动创建一个分支然后拉远程分支,它就可以工作,就像创建一个新的克隆并检查分支一样.

为什么它不适用于我使用的存储库?

git remote-branch git-checkout

463
推荐指数
6
解决办法
21万
查看次数

如何在Git的当前分支中获取最新的标签名称?

在Git中获取最新标签的最简单方法是什么?

git tag a HEAD
git tag b HEAD^^
git tag c HEAD^
git tag
Run Code Online (Sandbox Code Playgroud)

输出:

a
b
c
Run Code Online (Sandbox Code Playgroud)

我应该编写一个脚本来获取每个标记的日期时间并进行比较吗?

git git-checkout getlatest git-tag

424
推荐指数
18
解决办法
22万
查看次数

417
推荐指数
15
解决办法
49万
查看次数

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

我一直在想,git reset并且git checkout同样地,在这个意义上,两者都将项目带回特定的提交.但是,我觉得它们不可能完全相同,因为这将是多余的.这两者之间的实际差异是什么?我有点困惑,因为svn只svn co需要恢复提交.

添加

下面的图解释了差别,尽管在一个或者可能过于简化的或不正确的方式进行.你怎么看?是错误还是过度简化?

http://a.imageshack.us/img192/5440/screenshot20100903at416.png

增加2

VonC和Charles解释了两者之间的差异,git reset并且git checkout非常好.我目前的理解是git reset将所有更改还原为特定提交,而git checkout更多或更少的准备分支.我发现以下两个图对于理解这些图非常有用:

http://a.imageshack.us/img651/1559/86421927.png http://a.imageshack.us/img801/1986/resetr.png

增加3

http://think-like-a-git.net/sections/rebase-from-the-ground-up/using-git-cherry-pick-to-simulate-git-rebase.html,checkout和reset可以模拟反叛.

在此输入图像描述

git checkout bar 
git reset --hard newbar 
git branch -d newbar 
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

git git-checkout git-reset

415
推荐指数
5
解决办法
11万
查看次数

Git:如何从远程源主服务器更新/签出单个文件?

场景:

  1. 我在本地对一个文件进行了一些更改并运行git add,git commit并且git push
  2. 该文件被推送到远程源主存储库
  3. 我有另一个本地存储库,通过Capistrano与该远程存储库中的"remote_cache"方法一起部署
  4. 现在我不想部署整个应用程序,只需更新/签出该单个文件.

拜托,这对git来说有点可能吗?我无法找到任何有用的东西,也无法找到它.有了SVN我就做了svn up file,瞧.

我会很高兴得到任何帮助,谢谢!

git git-checkout

318
推荐指数
7
解决办法
42万
查看次数

Git:无法撤消本地更改(错误:路径...已取消合并)

我有以下工作树状态

$ git status foo/bar.txt
# On branch master
# Unmerged paths:
#   (use "git reset HEAD <file>..." to unstage)
#   (use "git add/rm <file>..." as appropriate to mark resolution)
#
#       deleted by us:      foo/bar.txt
#
no changes added to commit (use "git add" and/or "git commit -a")
Run Code Online (Sandbox Code Playgroud)

文件foo/bar.txt在那里,我想再次进入"未更改状态"(类似于'svn revert'):

$ git checkout HEAD foo/bar.txt
error: path 'foo/bar.txt' is unmerged
$ git reset HEAD foo/bar.txt
Unstaged changes after reset:
M       foo/bar.txt
Run Code Online (Sandbox Code Playgroud)

现在它变得令人困惑:

$ git status foo/bar.txt
# …
Run Code Online (Sandbox Code Playgroud)

git git-checkout git-reset

315
推荐指数
5
解决办法
18万
查看次数

git:切换分支并忽略任何更改而不提交

我正在使用git分支并准备提交我的更改,因此我使用有用的提交消息进行了提交.然后我心不在焉地对不值得保留的代码做了一些小改动.我现在想改变分支,但是git给了我,

错误:您对"X"进行了本地更改; 不能切换分支.

我以为我可以在不提交的情况下改变分支.如果是这样,我该怎么设置呢?如果没有,我该如何摆脱这个问题?我想忽略这些微小的变化而不提交,只是改变分支.

git branch git-checkout

296
推荐指数
11
解决办法
33万
查看次数

如何回到Git中的最新版本?

我最近从SVN搬到了Git,对某些事情感到有些困惑.我需要通过调试器运行以前版本的脚本,所以我做了git checkout <previous version hash>并做了我需要做的事情.

现在我想回到最新版本,但我不知道它的哈希.当我输入时git log,我看不到它.

我怎样才能做到这一点?此外,是否有更简单的方法来更改版本,而不是键入哈希 - 类似"返回两个版本"或"按时间顺序排列最近"?

git git-checkout

291
推荐指数
7
解决办法
27万
查看次数

如何按日期在Git结账?

我正在处理源代码中的回归.我想告诉Git:"根据参数化日期/时间检查来源".这可能吗?

我也在目前的观点中进行了改变,我不想失去.理想情况下,我想在当前源和我之前根据之前的日期感兴趣的某些版本之间来回切换.

git git-checkout

286
推荐指数
8
解决办法
12万
查看次数