我的结构如下:
master
ticketNumber01
ticketNumber02
因此,我的ticketNumber01
分支是根据master
创建的
ticketNumber02
是根据ticketNumber01
如何在当前master
分支上使用ticketNumber01
从git fetch / rebase
以及ticketNumber02
获取最新信息?
答案 0 :(得分:0)
使用以下命令使其正常工作:
# in branch ticketNumber02
git fetch origin
git rebase origin/ticketNumber01
git rebase origin/master
这样我就可以使用fetch
/ rebase
使用git fetch origin
获取所有分支的参考。
然后使用git rebase origin/<branchName>
将任何分支重新建立在当前分支上
答案 1 :(得分:-1)
提取后需要使用git merge。
#include <iostream>
#include <functional>
#include <memory>
class QTRO_1Source {
public:
void hvEnabledChanged(bool) {};
virtual bool hvEnabled() const = 0;
};
class QTRO_1SimpleSource : public QTRO_1Source {
public:
bool hvEnabled() const override { return false; }
};
class QTRO_1 : public QTRO_1SimpleSource {
public:
void write_hvEnabled(bool/*enabled*/) { }
};
template<typename ReplicaType, typename ValueType>
class ProxyProperty
{
public:
using ReadFuncPtr = ValueType (ReplicaType::*)() const;
using WriteFuncPtr = void (ReplicaType::*)(ValueType);
using ChangeSigFuncPtr = void (ReplicaType::*)(ValueType);
using UpdateHandlerFunctor = std::function<void(ValueType value)>;
ProxyProperty(ReplicaType *replica,
ReadFuncPtr readFunc,
WriteFuncPtr writeFunc,
ChangeSigFuncPtr changeSignal,
UpdateHandlerFunctor updateHandler)
{
m_replica = replica;
m_readFunc = readFunc;
m_writeFunc = writeFunc;
m_changeSignal = changeSignal;
m_updateHandler = updateHandler;
}
template<typename T, typename HandlerT>
void write(T value, HandlerT handler) {
(m_replica->*m_writeFunc)(value);
}
private:
ReplicaType *m_replica;
ReadFuncPtr m_readFunc;
WriteFuncPtr m_writeFunc;
ChangeSigFuncPtr m_changeSignal;
UpdateHandlerFunctor m_updateHandler;
int m_timeout{3000};
};
template<typename ReplicaType, typename ValueType, typename UpHandlerT>
auto createProxyProperty(ReplicaType *replica,
ValueType (ReplicaType::*readFunc)() const,
void (ReplicaType::*writeFunc)(ValueType),
void (ReplicaType::*changeSignal)(ValueType),
UpHandlerT upHandler)
{
return std::make_unique<ProxyProperty<ReplicaType,ValueType> >(replica, readFunc, writeFunc, changeSignal, upHandler);
}
int main(int argc, char *argv[]){
QTRO_1 model;
// static auto p = createProxyProperty<QTRO_1, bool>(
static auto p = createProxyProperty(
&model,
&QTRO_1::hvEnabled,
&QTRO_1::write_hvEnabled,
&QTRO_1::hvEnabledChanged,
[](auto val) { std::cout<< "COSTAM"; }
);
}
它应该获取系统的所有分支,然后您需要检出这些分支并获取最新更改。
git fetch
然后结帐到要合并 master 更改的所需分支。 合并更改
git checkout master
git pull
与 ticketNumber1
相同答案 2 :(得分:-1)
因此git fetch
仅用于获取存储库,您正在寻找的是git merge
,用于将更改合并到一个分支中。您可以像这样将ticketNumber01
更改添加到主版本中
git checkout master
git merge ticketNumber01
如果您需要将多个分支合并到master中,例如ticketNumber01和ticketNumber02您可以这样
git checkout master
git merge ticketNumber01 ticketNumber02
ps:记住拉出所有分支以确保它们是最新的