2011-04-26 77 views
1

我还在学习git的进出口,学得越多,我越喜欢,越是意识到我并不知道自己在做什么。git commit显示远程源?

我有几个分支,一个开发,主,和两个功能分支。

我工作的一个特性分支,我想签的发展分支。我得到一个警告,我有未提交的修改,所以我做了git commit -m'storing changes'

然后我做了develop分支检出。

的问题是,我的承诺的特性分支,似乎已被推到产地仓库,没有我做的事情。

我不知道它是如何发生的。我已经通过了reflog,并通过我的命令历史记录,并没有我在哪里明确做push

我完全困惑,我的老板会烧我的脚。

编辑补充:

这是引用日志

4f1641c [email protected]{5}: checkout: moving from feature/X to develop 
b67d265 [email protected]{6}: commit (merge): stashing 
dd9294d [email protected]{7}: checkout: moving from develop to feature/X 

b67d265的输出是提交是得到了推动。我看到了(merge),但我认为,如果有一个合并,它在本地autocommits ...

这里是branch -va

develop        9b44fac [behind 8] Fixing clicking search annotation causing app crash 
* feature/X      b67d265 stashing 
    feature/forecastscroll    8211bfc Updated Forecast Slider to be based on UIScrollView 
    master        4a2a436 Merge branch 'master' of git://X/iOS/X 
    servertimedelta      72e5426 removing comment check 
    remotes/X_dev/develop    57f0f03 fixing lockonme not enabled for for new users 
    remotes/github/feature/forecastscroll 8211bfc Updated Forecast Slider to be based on UIScrollView 
    remotes/origin/HEAD     -> origin/master 
    remotes/origin/develop    fe64f76 Merge branch 'develop' of git://X/iOS/X into develop 
    remotes/origin/feature/X  b67d265 stashing 
    remotes/origin/master     4a2a436 Merge branch 'master' of git://X/iOS/X 

回答

3

输出使用

git branch -va 

,了解您分支指点。您将看到本地和远程分支,其中遥控器正在跟踪远程端相应分支的状态。

没有办法提交是越来越没有你推什么推。因此,我认为上面的命令提供的信息将清除事情。 如果仍然存在疑问 - 请详细说明执行的命令以及上述命令的输出,以扩展您的问题。

+0

谢谢,我跑了那个命令,但我怎么知道分支指向哪里?我看到了我期望的分支,然后我看到它下面的远程列表,但不明显我的分支指向哪里(我假设它们没有指向任何地方,它们是本地的) – Alan 2011-04-26 18:14:22

+0

因为您知道git中的分支是一个提交的可移动指针。您当地的分支机构都是没有“遥控器”前缀(主控,开发,功能/ X等)的分支。以“远程/”前缀列出的分支称为远程跟踪分支,即跟踪远程存储库中相应分支状态的分支。 您的情况远程追踪分支来自您连接的不同遥控器(x_dev,github,origin) – 2011-04-26 19:53:30

+0

远程追踪分支仅通过推送或提取的网络操作进行更新。即您不能通过任何其他操作(提交或合并或其他)来更改远程跟踪分支(例如远程/源/特征/ X)指向的提交ID。只取(拉)或推。 – 2011-04-26 19:58:27

0

还有,如果你的资料​​库是你的本地网络上可见,说不定有人会从你拉它,然后推动改变了原点的可能性。