如何使GitHub repo像最初从另一个repo分叉一样?

时间:2017-03-26 03:11:00

标签: git github

说,我在GitHub上看到了一些我想尝试的示例项目。如果我真的从那个仓库中分叉,然后$(document).ready(function() { // add editable column data var dtData = $.map(dataStore.data, function(item){item.contentEdit = ""; return item;}); var dtTable = $('#example').DataTable( { "data": dtData, "select":"single", "columnDefs":[{"targets":[6], render : function(ditem){return "<input type='text' value = '" + ditem +"'/>" ;}}], "columns": [ { "data": "name" }, { "data": "position" }, { "data": "office" }, { "data": "extn" }, { "data": "start_date" }, { "data": "salary" }, {"data":"contentEdit", "className": ""} ], dom: 'Bfrtip', buttons: [ { extend: 'excelHtml5', text: 'Save as Excel', // updates the data before being sent to excel customizeData: function (a, b, c, d) { var exd = a.body; var dtdata = $('#example').DataTable().rows().data(); for (var ii = 0; ii < dtdata.length ; ++ii) { var cur = dtdata[ii].contentEdit; exd[ii][6] = cur; } } } ] }); // Uses key press event handler to keep the associated data object in sync $("#example").on("keyup", "input[type='text']", function (){ var rData = dtTable.rows($(this).closest("tr")).data()[0]; rData.contentEdit = $(this).val(); $("#txtFollower").val($(this).val()); }); }); 将新的仓库转移到我的硬盘并进行更改git clone,那么一切都很好。

让我们调用上面的场景1。

但是,如果我没有分叉,而只是git push原始回购。现在,在对文件编辑git clonegit add进行了5个小时的项目更改之后,如何将其重新回到场景1(就好像我从新分叉的仓库中分叉和git克隆)。在GitHub上,它还应该表明repo也是从原始repo分叉的。如果可能的话,所有5小时的更改和提交历史也应该保留。

2 个答案:

答案 0 :(得分:2)

首先正常分叉GitHub仓库。现在在本地计算机上打开Git Bash并使用克隆版本的repo cd到目录。您可以使用

更改origin遥控器的网址
$ git remote set-url origin <url for the forked repo>

保持与原始仓库的连接

$ git remote add upstream <url for original repo>

P.S。使用版本控制时,如果不进行提交,则不应编写五个小时的代码。作为一般经验法则,我尝试每30分钟或更短时间进行一次提交。更一般地说,创建完整的提交通常是有意义的。当然,单个提交不应该破坏构建。

答案 1 :(得分:0)

在事实之后将其分叉,然后使用远程网址为您的新分支添加一个遥控器:

git remote add myremote git@github.com:some/something.git

之后,你可以将你的提交推送到你的分支:

git push myremote my-branch

如果您希望将新遥控器变为原点,则应首先将原始原点重命名为不同的原点:

git remote rename origin something_different
git remote add origin git@github.com:some/something.git