分类 教程 下的文章

<?php
$my_array = array("Dog","Cat","Horse");

list($a, $b, $c) = $my_array;
echo "I have several animals, a $a, a $b and a $c.";
// I have several animals, a Dog, a Cat and a Horse.
?>

这个函数有点意思, 和ES6里面的 ...Array有点像。
补充
这个函数的问题是,如果左边的$my_array比如只有2个元素,也就是是说count($my_array) ===2,这种情况就会导致报错,因为数组越界了。所以应该增加一定的校验和错误处理。

我理解就是,tag就是一个快照(snapshot),是某个repo的一个定点的状态;branch就是一段录像,反应了一段时间范围内的变化(多个commit组成了一个开发变化的过程)。

A tag represents a version of a particular branch at a moment in time. A branch represents a separate thread of development that may run concurrently with other development efforts on the same code base. Changes to a branch may eventually be merged back into another branch to unify them.

From the theoretical point of view:

  • tags are symbolic names for a given revision. They always point to the same object (usually: to the same revision); they do not change.
  • branches are symbolic names for line of development. New commits are created on top of branch. The branch pointer naturally advances, pointing to newer and newer commits.

- 阅读剩余部分 -

原来各个region之间还是物理隔离的,基本上没法互通。

目前我用的是Oregon,就是us-west-2,至于为啥选了这个区,我也不知道啊。

这属于修改历史了,也是比较简单和容易的一种方式。

假设你刚才做了一次commit,写错了commit message,或者像我今天遇到的情况,忘了gpg签名,咋办呢?

git commit --amend

这样就可以修改最近一次commit。我用的是:git commit -S --amend来增加签名,也可以增加--no-edit,这样就不会启动vim等editor来修改commit message了。

这样做的后果是修改了最近一次commit,所以这次commit的hash值也会变。