最后一次提交,HEAD和我在目录中可以看到的文件状态之间似乎有区别.
什么是HEAD,我该怎么办?我应该避免哪些错误?
ref^是指之前ref的提交,之后 获取提交ref怎么样?
例如,如果我git checkout 12345如何检查下一次提交?
谢谢.
PS是的,git是一个DAG节点指针结构树,无论如何. 如何在此之后找到提交?
我有一个远程gitosis服务器和一个本地git存储库,每次我对我的代码进行重大更改,我都会将更改推送到该服务器.
但是今天我发现即使我有一些本地更改并提交到本地存储库,当运行git push origin master时它会说"Everything up-date",但是当我使用git clone来检出远程服务器上的文件时,它不包含最新的更改.我只有一个名为master的分支和一个名为origin的远程服务器.
PS:这是git在运行ls-remote时显示的内容,我不确定它是否有帮助
$ git ls-remote origin
df80d0c64b8e2c160d3d9b106b30aee9540b6ece HEAD
df80d0c64b8e2c160d3d9b106b30aee9540b6ece refs/heads/master
$ git ls-remote .
49c2cb46b9e798247898afdb079e76e40c9f77ea HEAD
df80d0c64b8e2c160d3d9b106b30aee9540b6ece refs/heads/master
df80d0c64b8e2c160d3d9b106b30aee9540b6ece refs/remotes/origin/master
3a04c3ea9b81252b0626b760f0a7766b81652c0c refs/tags/stage3
Run Code Online (Sandbox Code Playgroud) 我正在尝试将我的一个项目推送到github,并且我一直收到此错误:
peeplesoft@jane3:~/846156 (master) $ git push
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin master
Run Code Online (Sandbox Code Playgroud)
所以我试了一下,得到了这个:
peeplesoft@jane3:~/846156 (master) $ git push --set-upstream origin master
fatal: Authentication failed
Run Code Online (Sandbox Code Playgroud)
另一个stackoverflow线程建议我尝试以下,结果令人失望.
peeplesoft@jane3:~/846156 (master) $ git push -u origin master
fatal: Authentication failed
Run Code Online (Sandbox Code Playgroud)
然后我尝试了这个:
peeplesoft@jane3:~/846156 (master) $ git config remote.origin.push HEAD
peeplesoft@jane3:~/846156 (master) $ git push
fatal: Authentication failed
Run Code Online (Sandbox Code Playgroud)
任何提示?
如何查看rspec软件包的版本/标签1.1.4 ?
cd ~/Library/Application\ Support/TextMate/Bundles/
git clone git://github.com/rspec/rspec-tmbundle.git RSpec.tmbundle
osascript -e 'tell app "TextMate" to reload bundles'
Run Code Online (Sandbox Code Playgroud) 我正在使用GIT子模块.从服务器提取更改后,很多时候我的子模块头与主分支分离.
为什么会这样?
我必须经常这样做:
git branch
git checkout master
Run Code Online (Sandbox Code Playgroud)
如何确保我的子模块始终指向主分支?
Muchas Gracias
我在github上有一个存储库,它有一个主分支(master)和一个分支用于一些实验工作.我做了一些提交并推到实验分支,一切都很好.
现在,在另一台机器上,我尝试克隆我的存储库(git clone repository),然后切换到实验分支(git checkout branchname),但每次我这样做时,我的头都会分离,我无法推动我的更改.我究竟做错了什么?我觉得我在某个地方缺少一个基本的git概念,但是阅读随机的git手册页并没有给我任何线索.
我是git的新手,所以我很抱歉,如果我是一个白痴,但我在文档中找不到任何可以帮助我重新认识的东西.
编辑
跟踪分支的概念是我所缺少的.现在我认识到这个概念一切都很清楚.就个人而言,我发现git branch --track语法比直观更直观git checkout -b branch-name origin/branch-name.
谢谢您的帮助!
请问,我的项目有一个大问题:这就是场景.我在GIT下有一个xcode项目.今天我意识到最后一次提交破坏了一些测试,所以我检查了之前的提交.我使用了SourceTree,这是警告
这样做会使您的工作副本成为"分离的HEAD",这意味着您将不再在分支机构上.如果您想在此之后提交,则可能需要再次签出分支,或者创建新分支.这个可以吗?
我工作了一整天,最后我做了一切.所以我需要将我的工作合并到开发分支上,这样我就可以查看开发分支......我的工作立即消失了:(
我知道分离我的HEAD是错误的,Sourcetree警告我......但是有一种方法可以恢复我的工作吗?
非常感谢.
我做了一件非常愚蠢的事.我使用git commit(文件编辑+新文件)(C)进行了提交.然后我修改了最后一次提交.然后我使用递归删除所有文件(!)git rm -r
然后我做了另一个git commit(C).
A-B-C
?
master
有没有办法取消删除文件,但保留我在第一次提交时所做的更改?(C)我宁愿不回到(B).我试过git reset --soft head ^,那么git status列出了我删除的文件,然后我做了git checkout,但仍然没有运气.我甚至不知道是否可能.