我创建了一个新分支并进行了结帐。但是当时我的工作目录不干净(尚未提交工作目录中的更改),所以我得到了输出:
D src/abstracts/media/tea-background.png
M src/actions/actionTypes.js
M src/actions/customerActions.js
M src/actions/deliveryActions.js
我不确定如何从这里开始...我不想放弃对这些文件所做的更改。我有点害怕运行git commit
或再次结帐母版。
我如何返回主服务器并提交这些更改?
答案 0 :(得分:1)
假设您在master
分支上,并且进行了那些(未提交的)更改,然后就运行了
git branch new-branch # create branch
git checkout new-branch
在这种情况下,您仍与master
完全相同的提交。 master
和new-branch
都指向同一提交。您可以安全运行
git checkout master
提交更改。
除非您使用git
,--hard
或类似选项,否则大多数--force
命令都会确保您不会丢失文件/更改。
如果您想查看自己在git历史记录中的位置,我建议您使用以下命令:
git log --all --graph --oneline --decorate
答案 1 :(得分:1)
上面public function action_binAllocation()
{
$list_of_items = [80, 20, 30, 40, 50, 60, 70, 80, 10, 70];
$sum = 80;
$evenlySortedArray = $this->findPairsInArrayWhereSum($sum, $list_of_items);
print_r($evenlySortedArray);
}
public function findPairsInArrayWhereSum($sum, $arr = [])
{
$s = [];
$evenlyDistributedArrays = [];
for ($i = 0; $i < count($arr); $i++) {
$temp = $sum - $arr[$i];
$s[] = $arr[$i];
if (in_array($temp, $s)) {
$evenlyDistributedArray[] = [$arr[$i], $temp];
}
}
return $evenlyDistributedArray;
}
的输出是git在工作目录的当前状态和git status
之间进行比较的结果。
由于您已更改HEAD
指向HEAD
的位置,因此列表的确可能有所不同。但是您的更改仍然在这里,并且进行git来尽可能地避免数据丢失。如果结帐会抹去工作目录中的某些更改,则它会抱怨并没有继续进行操作,以便您手动处理此情况。
您只需再次git checkout
,就会发现自己处于初始状态,并且保留了所做的更改。
答案 2 :(得分:0)
对于我来说,当创建具有本地更改的新分支时,我将使用git stash save 'some message'
,然后使用git branch new-branch # create branch
,最后但并非最不重要的是,使用git stash apply 'some message'
或{{1 }}应用本地更改,然后使用noraml过程git pop
提交更改的文件。