我看到了命令
git reset --hard origin/master
正在通过远程跟踪分支工作。
是否可以对远程分支而不是远程跟踪分支进行重置?
答案 0 :(得分:1)
据我所知,您可以通过创建,推送或删除远程分支来实现与Git客户端远程分支交互的唯一方法。这就是说,运行后
final Retrofit retrofit = new Retrofit.Builder()
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.baseUrl(AirportService.SERVICE_ENDPOINT).build();
AirportService service = retrofit.create(AirportService.class);
service.getAirport()
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<List<Airport>>()
{
@Override
public void onCompleted()
{
}
@Override
public void onError(Throwable e)
{
e.printStackTrace();
}
@Override
public void onNext(List<Airport> airports)
{
airps = airports;
}
});
您可以通过以下方式强制将跟踪分支推送到远程:
git reset --hard origin/master
答案 1 :(得分:1)
如果适用,命令git reset --hard origin/master
对远程分支不起作用;实际上,您告诉本地分支执行的操作是将HEAD移动到origin/master
中反映的同一个提交,因为您的存储库知道它。这将 不 触摸远程分支。
如果之前未运行git fetch
,则执行会冒着使用远程存储库的旧版本覆盖本地存储库的风险,该版本完全可以使用{{ 1}}。
如果要重置针对远程存储库的提交,则必须先将它们应用到本地存储库,然后通过git fetch && git reset --hard origin/master
强制推送它们。
请注意,您对Git执行的这些更改首先在本地存储库中完成;如果要将它们发布到远程存储库,则必须调用不同的命令。