我想将以下操作编写成一个命令:
换句话说,我想从中央存储库中获取最新的代码,并立即生成自上次拉出以来所发生变化的差异.
我和其他开发人员一直在合并并将我们的工作推向一个名为"工具"的非主分支.这样,我们没有影响团队的其他成员.我的主题分支叫做DPM-93,我的git工作流就是这个.
# do some work
git checkout DPM-93
git commit -m "did some work"
# catch up
git checkout toolwork
git pull origin toolwork
# rebase my topic branch
git checkout DPM-93
git rebase toolwork
# merge and push my changes
git checkout toolwork
git merge --no-ff DPM-93
git push origin toolwork
Run Code Online (Sandbox Code Playgroud)
在我意外发出这些git命令之前,这大部分工作正常
git checkout toolwork
git pull origin master
Run Code Online (Sandbox Code Playgroud)
那时,一堆新东西出现在分支工具中,我不知道如何摆脱它删除我的工作区并重新克隆回购.
在拉动之前有没有办法将其支持到状态?
我目前在我想开发的另一台计算机上有我最新版本的代码(家用电脑和笔记本电脑,当我外出时)我在笔记本电脑上为我的应用程序设置了heroku.现在我需要将我的代码关联到桌面上,以便我也可以从那里推送到heroku.
这是我从桌面上得到的:
desktop:~/NetBeansProjects/onlinescheduler$ git pull heroku master
fatal: 'heroku' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)
我不能这样做heroku create因为那将创建一个单独的应用程序.如何将现有代码与heroku相关联(或从中拉下全新版本)?
什么命令这样做?
假设我有一个名为develop的私有主题分支,在master之前有2次提交.
怎么git pull origin master办?
从本地开发的远程主机中拉出所有内容并合并它?拉出本地主分支中的所有内容并合并它?
并且有没有办法从头开始更新master git checkout master?
我之后不想丢失一些信息git pull,所以我git fetch之前做过一次.我在哪里可以阅读新的修改git fetch?我去了FETCH_HEAD文件,但没有什么比一个大数字.
让我来描述我的情况:
Blond先生和Orange先生正在研究分支A,它在提交M1的主分支上分支出来.分支A有2个提交:A1和A2.
M1
\
\
A1 - A2
Run Code Online (Sandbox Code Playgroud)
与此同时,奥兰治先生承诺并在主分公司M2和M3上多推了两笔.
M1 - M2 - M3
\
\
A1 - A2
Run Code Online (Sandbox Code Playgroud)
布朗先生从遥控器拉出来,过了一会儿决定重新进入主分支:
M1 - M2 - M3
\ \
\ \
A1 - A2 A1` - A2`
Run Code Online (Sandbox Code Playgroud)
现在A1`和A2`是在先生金发的本地存在的衍合的提交,以及A1和A2远程存在.金发先生推动他的提交,使用-f强制他的改变并"重写"历史.现在远程存储库看起来像这样:
M1 - M2 - M3
\
\
A1` - A2`
Run Code Online (Sandbox Code Playgroud)
但奥兰治先生也在A分公司工作.他的本地存储库仍然如下所示:
M1 - M2 - M3
\
\
A1 - A2
Run Code Online (Sandbox Code Playgroud)
Orange先生需要做什么才能与远程存储库中的A分支同步?
正常拉动不起作用.请拉-f强制远程本地的更改?我知道删除本地版本的A并从远程存储库再次提供它将会起到作用,但这似乎并不是实现这一目标的好方法.
git的目标之一是分散.如果Github是git的中心,那么也许它可以考虑到其他集线器,并允许拉取请求发生在github 上没有托管的git URL 上.
该文件是关于这个相当明确:拉请求需要你有一个Github上的帐户,你fork一个仓库在github上.这是一个真正的当前技术限制还是有办法在Github上解决这个问题?
如果没有,是否最终计划允许Github的"拉取请求"工具实际上允许从Github筒仓之外的存储库中提取?
是否有可能让Mercurial显示长时间推送或拉动操作的进度?谷歌告诉我基本上"不",但有人知道更好吗?我期待像hg pull -v......
据我所知,当我使用时git pull --rebase,git将重新编写历史记录并在我刚从中提取的分支中的所有提交之后移动我的本地提交.
我不明白的是这将是一件多么糟糕的事情.人们谈论陷入困境git pull --rebase,你最终会找到一个别人无法忍受的分支.但我不明白这是怎么回事,因为你所做的就是在你所从的分支上重播你当地的,尚未公开的提交.那么,那里的问题是什么?