相关疑难解决方法(0)

"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 repo进入了独立的HEAD状态?

我今天最终得到了一个独立的头,同样的问题如下所述:git push说一切都是最新的,即使我有本地更改

据我所知,我没有做任何与众不同的事情,只是从我当地的回购中提交和推送.

那我怎么最终得到一个detached HEAD

git

365
推荐指数
7
解决办法
20万
查看次数

git push失败:RPC失败; result = 22,HTTP代码= 411

我只有一个分支.几个月来我一直在用

git push origin master
Run Code Online (Sandbox Code Playgroud)

提交到我的本地存储库.昨晚我对我的本地存储库进行了一些小的更改,并试图使用相同的命令,我得到了这个错误:

error: RPC failed; result=22, HTTP code = 411
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
Everything up-to-date
Run Code Online (Sandbox Code Playgroud)

我用谷歌搜索并发现了这个问题和这个问题,但这些问题的答案都没有解决我的问题.

大多数答案都表明头部脱落的问题.但我不认为我的头是分离的.我也不认为我在错误的分支上(因为我只有一个分支......)

我做了一些实验来弄清楚什么是错的,这是我得到的结果:

(1)首先是我的git status输出

# On branch master
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
# egal.aux
# egal.blg
# egal.out
# egal.pdf
# egalcar.aux
# egalcar.blg
# egalcar.pdf
nothing added to …
Run Code Online (Sandbox Code Playgroud)

git github

123
推荐指数
2
解决办法
6万
查看次数

如何在heroku上更新应用程序

我是heroku的新手.我创建了一个非常简单的rails应用程序,并将其部署到heroku.

我怎样才能将更改提交给git?

ruby-on-rails heroku

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

Hudson CI上的Active Git分支是"(无分支)"

我的Ant build.xml脚本以

<property environment="env"/>
<echo>GIT_BRANCH = ${env.GIT_BRANCH}</echo>
<echo>PWD = ${env.PWD}</echo> 
Run Code Online (Sandbox Code Playgroud)

Hudson CI设置为在任何分支更改时构建.控制台输出是......

Commencing build of Revision 90906a63929e9074035eb5b10c71ee055ad3e13c (origin/DPM-48)
GitAPI created
Checking out Revision 90906a63929e9074035eb5b10c71ee055ad3e13c (origin/DPM-48)
[workspace] $ git.exe checkout -f 90906a63929e9074035eb5b10c71ee055ad3e13c
[workspace] $ cmd.exe /C '"C:\Program Files\WinAnt\bin\ant.bat" -file build.xml ...'
 [echo] GIT_BRANCH = ${env.GIT_BRANCH}
 [echo] PWD = /cygdrive/d/.hudson
Run Code Online (Sandbox Code Playgroud)

从控制台输出,Hudson知道它正在构建主题分支DPM-48但是没有设置环境变量GIT_BRANCH并且'git branch'返回git处于'分离的HEAD'状态

* (no branch)
master
DPM-48
Run Code Online (Sandbox Code Playgroud)

我想知道的是我正在哈德森建立的分支.必须有办法做到这一点.

git hudson git-checkout

17
推荐指数
2
解决办法
1万
查看次数

在gitk中,为什么我的黄色按钮高于主人?

我在gitk上找不到关于颜色含义的任何文档,但我认为这里的问题是我的黄色按钮已经通过了我的主人.现在,当我尝试做:

git push origin master

它不起作用.我的黄色按钮是如何克服主人的,我如何将它们重新组合在一起以便我可以做推动原始主人?

git version-control gitk

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

git:如何在特定日期检索所有文件

我确信这可以做到(?)(在明文中它会非常简单).

git

12
推荐指数
2
解决办法
1万
查看次数

为什么Git跟踪子目录中没有变化?

我已经创建了git存储库,添加了代码并将其推送到GitHub.

然后在本地,我编辑了文件Eila.Analyser/Program.cs,在第一次提交时添加到GitHub,保存并git status说没有变化.

好吧,我认为,一定搞砸了,git reset --hard HEAD并且据我所知,应该还原所有内容,但我的文件不会被还原.

所以我觉得我做错了什么.我编辑根文件夹中的文件,git status- 显示有更改,工作为可疑,因此它适用于根文件夹中的文件,但不适用于子文件夹中的文件.

我错过了一些明显的东西吗?

更新:证据,我正在编辑的文件真的被提交(git log --stat):

在此输入图像描述

如果有帮助,树图片:

在此输入图像描述

UPDATE2:好的,我以为我真的搞砸了,所以我删除了文件夹,我的解决方案在哪里,再次从gitHub克隆,我的本地代码仍然与gitHub中的现有代码不同,git status看不到任何更改,git log origin/master..HEAD什么都不给.

git github

10
推荐指数
5
解决办法
2万
查看次数

如何减小iPython笔记本的文件大小?

我有一个IPython笔记本,它的大小为几兆字节,尽管其中的代码仅约100行。我认为它很大,因为我在其中加载了多个图像。

我想将此笔记本添加到git存储库中。但是,我不想上传可以轻易再次生成的大文件。

是否可以仅保存IPython Notebook的代码以减小其大小?

jupyter-notebook

8
推荐指数
1
解决办法
3673
查看次数

Git:HEAD已经消失了,想把它合并成主人

reflog vs GITK http://siteroller.net/archive/images/Forums/headless%20GIT.png

顶部图像是输出:git reflog.
底部是GIT GUI(msysgit)中的GITK在查看所有分支历史时向我显示的内容.

最后几次提交没有在GIT GUI上显示.

  • 为什么他们不在GITK上展示(至少作为一个分支或什么)?
  • 如何将它们合并为主?
  • 当我检查标签0.42时,我收集了这个.为什么和主人不一样?(我在最新状态下标记了主人)
  • 当我点击推送时,为什么远程仓库声称是最新的...它不应该尝试将这些提交更新到它们所在的任何分支中吗?

第一个问题很重要 - 我想开始了解GIT的想法.在这一点上,它比逻辑更具神谕性.

如果看到之前的历史记录有所不同,那么该项目是一个[非常强大的] JS颜色选择器,可以在这里完整地查看.

git

7
推荐指数
1
解决办法
5130
查看次数