在已经提出拉取请求之后,如何仅推送到我的Github仓库的分支

时间:2017-07-29 05:28:52

标签: git github version-control

说我克隆了一个名为extension MultipleImageViewController: BarcodeScannerCodeDelegate { func barcodeScanner(_ controller: BarcodeScannerController, didCaptureCode code: String, type: String) { if code.isEmpty { let delayTime = DispatchTime.now() + Double(Int64(6 * Double(NSEC_PER_SEC))) / Double(NSEC_PER_SEC) DispatchQueue.main.asyncAfter(deadline: delayTime) { controller.resetWithError() } } else{ getBookInfo(isbn: code) let delayTime = DispatchTime.now() + Double(Int64(6 * Double(NSEC_PER_SEC))) / Double(NSEC_PER_SEC) DispatchQueue.main.asyncAfter(deadline: delayTime) { controller.dismiss(animated: true, completion: nil) } } } } 的公共Github仓库。然后我做了一个分支,完成了一些工作,并向REPO提交了一份正在进行中的拉取请求。每当我推送一个新提交时,它都会转到我的克隆和REPO。这启动了REPO上耗时的CI测试。

我在两台计算机上工作之间切换,如果不将其添加到REPO上的当前公关,那么提交我的repo克隆会很不错。然后我可以推动,切换计算机,并从叉子上的分支拉出来。当我准备好了,我可以将一批提交推送到REPO上的pull请求。

这样做的最佳方式是什么?

1 个答案:

答案 0 :(得分:2)

从您创建拉取请求的分支(例如feature)创建一个新分支(例如pr-branch)。

$ git checkout pr-branch       # checkout to 'pr-branch'
$ git checkout -b feature      # create and checkout to 'feature' branch

然后,当您完成feature分支后,将feature分支与pr-branch合并。

$ git push origin feature      # push 'feature' branch changes to remote
$ git checkout pr-branch       # checkout to 'pr-branch'  
$ git pull origin feature      # pull 'feature' branch changes into local 'pr-branch'

$ git push origin pr-branch    # update remote 'pr-branch' 

现在,REPO上的PR应该自动更新,因为pr-branch更新了feature分支提交/更改。

如果您必须在两台计算机之间切换并在feature分支上工作,那么只需最新的feature分支更改为远程和 pull 从另一台计算机开始使用最新的代码。

# computer-1
$ git pull origin feature
# do some commits here...
$ git push origin feature

# computer-2
$ git pull origin feature
# start working from latest codes and do commit...
$ git push origin feature