Git:如何将分支重新连接到其主干?

时间:2017-05-30 18:32:26

标签: git

我希望从TFS到Git的主分支上移植一个带有多个分支的解决方案。我尝试使用Git-Tfs来移植解决方案并维护分支关系,但是如果没有工具错误,我能做的最好的事情就是获得整个包含文件夹的副本,每个分支包含单独的子文件夹 - 不维护分支关系。文件夹结构如下所示......子文件夹包含相应的解决方案文件和内容:

MyProject

此外,提交似乎仅在var ref: FIRDatabaseReference! var username: String = "" override func viewDidLoad() { super.viewDidLoad() ref = FIRDatabase.database().reference() let userID = FIRAuth.auth()?.currentUser?.uid let profilePath = ref.child("users").child(userID!) profilePath.observeSingleEvent(of: .value, with: { (snapshot) in let snapValue = snapshot.value as? NSDictionary let snapUsername = snapValue?["username"] as? String ?? "" self.username = snapUsername }) } // MARK: - Table view data source override func numberOfSections(in tableView: UITableView) -> Int { // #warning Incomplete implementation, return the number of sections return 1 } override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { // #warning Incomplete implementation, return the number of rows return 1 } override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "userCell", for: indexPath) as! ProfileTableViewCell cell.userAvatar.layer.cornerRadius = 35.5 cell.userAvatar.clipsToBounds = true cell.userShortname.text = self.username return cell } override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { tableView.deselectRow(at: indexPath, animated: true) } 级别跟踪,在子文件夹级别没有任何内容。我知道每个分支发生的变更集编号,但我不确定如何使用该信息,如果它甚至适用的话。

我需要将每个分支与主人重新关联,但无法弄清楚(我是Git新手)。我不太关心历史 - 我必须能够在某些时候将分支合并回主干。我需要做什么?

1 个答案:

答案 0 :(得分:3)

如果您无法使用该工具(我不熟悉TFS,因此我无法与任何可用的工具通信,抱歉),您可以手动完成,而无需保留历史记录。我已经开始研究从Subversion到Git的类似工作,它有类似处理分支作为子目录的问题。

  1. 导出您的主等效分支(主要我假设?)
  2. git init,添加全部,提交
  3. git checkout -b <branchname>为第一个分支添加
  4. 删除所有工作副本文件,但 .git目录
  5. 从TFS导出等效分支并将文件复制到工作副本
  6. git add --all - 这将识别更改,添加和删除
  7. 提交
  8. 再次检查主人
  9. 从步骤3开始重复下一个分支,直到所有分支完成
  10. git push --all将所有分支推送到您的上游
  11. 这将维持分支祖先,但不会保留更改历史记录。对于SVN来说,这很容易编写脚本,可能也很容易为TFS编写脚本。