ほげたん

Dec 06 2009
どんな女でも、朝から晩まで一緒にいれば、気に入らなくなり、嫌になるだろう。女にしても、どっちつかずの状態で可哀想だ。だから、男女は別居して、時々通うのが良いのである。いつまでも心のときめきが持続するだろう。不意に男がやって来て泊まったりしたら、不思議な感じがするはずだ。
+
自分の能力は、自分で使ってみなければわからない。(湯川秀樹)
+

Gitのブランチ練習

otsune:

tsukamoto:

Gitのブランチを使いましょう。

ブランチを作成しましょう。

まずブランチを作成してみます。

C:\>git branch lesson-branch

ブランチが作成されたことを確認します。

C:\>git branch
  lesson-branch
* master

lesson-branchというブランチが追加されました。現在のブランチ(先頭に * が表示されているもの)は、masterのままです。

ブランチを切り替えましょう。

まずブランチを切り替えます。

C:\>git checkout lesson-branch

ブランチが切り替わったことを確認します。

C:\>git branch
* lesson-branch
  master

ブランチで作業しましょう。

「about-branch.txt」というファイルを作ることにします。適当な内容で構いません。

C:\>notepad about-branch.txt

次の内容で保存します。

Hi, I'm writing about branch.

gitの監視対象に追加し、コミットします。

C:\>git add about-branch.txt
C:\>git commit -m "Writing about-branch.txt"
[lesson-branch 2de4877] Writing about-branch.txt
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 about-branch.txt

ブランチをmasterに戻しましょう。

ブランチをマスターに戻します。

C:\>git checkout master
Switched to branch 'master'

ファイルを一覧してみます。

C:\>dir /b
readme.txt

lesson-branchブランチで「about-branch.txt」を作成しましたが、masterブランチに戻ると、こちらには「about-branch.txt」はないままになっています。

ブランチをマージしましょう。

lesson-branchブランチでの変更点を、masterに反映します。

C:\>git merge lesson-branch
Updating 6c5f993..2de4877
Fast forward
 about-branch.txt |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 about-branch.txt

ファイルを一覧してみます。

C:\>dir /b
about-branch.txt
readme.txt

lesson-branchブランチでの変更点である「about-branch.txtの追加」が、masterブランチに反映されました。

ブランチを削除しましょう。

lesson-branchブランチを削除します。

C:\>git branch -d lesson-branch
error: The branch 'lesson-branch' is not an ancestor of your current HEAD.
If you are sure you want to delete it, run 'git branch -D lesson-branch'.

ブランチでの変更で、masterに反映されていない分があるので、削除できませんでした。まずマージして、それから削除します。

C:\>git merge lesson-branch
C:\>git branch -d lesson-branch
Deleted branch lesson-branch (was 944166d).

lesson-branchブランチがなくなっていることを確認します。

C:\>git branch
* master

ブランチを強制削除しましょう。

もう一度ブランチを作り「masterに反映されていない分がある」状態まで進めます。

C:\>git branch lesson-branch
C:\>git checkout lesson-branch
Switched to branch 'lesson-branch'

C:\>echo Lesson again. > lesson.txt C:\>git add lesson.txt C:\>git commit -m "Create lesson.txt" [lesson-branch 210995d] Create lesson.txt 1 files changed, 1 insertions(+), 0 deletions(-) create mode 100644 lesson.txt

C:\>git checkout master Switched to branch 'master'

同じ状態になっていることを確認します。

C:\>git branch -d lesson-branch
error: The branch 'lesson-branch' is not an ancestor of your current HEAD.
If you are sure you want to delete it, run 'git branch -D lesson-branch'.

強制削除します。小文字の -d オプションの代わりに、大文字の -D オプションを指定します。

C:\>git branch -D lesson-branch
Deleted branch lesson-branch (was 210995d).

lesson-branchブランチがなくなっていることを確認します。

C:\>git branch
* master

まとめ

Gitのブランチの一覧、追加、削除は、以下のコマンドで行います。

git branch [option]

Gitのブランチの切替は、以下のコマンドで行います。

git checkout <ブランチ名>

Gitのブランチのマージは、以下のコマンドで行います。

git merge <ブランチ名>

ブランチは、並行していくつかの作業を行う時に役立ちます。例えば、ある人が昨日の追加を行い、ある人はバグの修正を行い、ある人はドキュメントの更新を行うと言ったときに、それぞれにブランチを作って作業をすれば、終わったものから「master」に反映してリリースすることができます。

メモ:ブランチはコミットしてから切り替えましょう。

ブランチを切り替える時に、次のようなエラーが出ることがありました。

C:\>git checkout master
error: You have local changes to 'about-branch.txt'; cannot switch branches.

現在のブランチにコミットしていない変更があるので、ブランチを切り替えられなかったようです。コミットをします。

C:\>git commit -a -m "Append merit description."

ブランチをマスターに戻します。

C:\>git checkout master
Switched to branch 'master'

今度はきりかえられました。こうならず「M about-branch.txt」のように表示されるだけで、切り替わることもありました。違いがよく分かっていません。

+
「ちなみに、日本人の生涯所得――一生涯に稼げる金額――を決める一番の要因は、学歴じゃありません。何だと思いますか?実は生まれ年なんです。つまり、高校卒業時の18歳と大学卒業時の22歳のときの景気がよかったか悪かったかで決まります。」(『経済成長って何で必要なんだろう?』)
+
感覚は経験に大きく左右されます。歳をとると時間の経過が速く感じられたり、帰り道が行きの道より短く感じられたりするのは、新しい経験が減るからでしょう。繰り返しの多い圧縮可能な人生を送っているとあっという間に時間が過ぎてしまいますから注意しなければなりません。生活に繰り返しが多くなってきたと感じたときは引っ越したり転職したりすると時間が長く感じられるようになります。
Dec 05 2009
うぬぼれの強いソフトウェア開発者は特にそうで、彼らは非常に頭が良く、他の人より知識があると思っていて、そう思うのには十分な理由があり、実際その通りなのだが、そのことによって何かをやるように命令されるのをすごく嫌うのだ
+
自分がルールに縛られていれば,他人もルールに縛られて欲しいと思うのが人情だ。
+
ドタキャンするとき,人はあらゆる未来を想定する。それで仕事をクビになるようなドタキャンであれば這ってでも行くだろうし,大好きな恋人との約束であればそうそうドタキャンはしないだろう。関係性が薄ければ薄いほど,利害関係が発生しないような関係であればあるほど,困らないし,怒られないのだ。だから,人はドタキャンを選ぶ。
+

…優れたエンジニア10人雇うのは、優秀なexecutive1人雇うよりもっともっともっと大変なのであった。

というか、不可能に近い。

探し出すだけでも大変。「シリコンバレーのエンジニア」といっても、かなり使えないレベルの人がうようよいる。そしてジョブマーケットにいる多くの人はそういう人材。(考えてみれば当然です。多くの会社が優れたエンジニアを欲しがっているので、そういう人材が大量に市場に溢れているはずがない。決していなくはないが。しかし、普通に募集をかけた場合の応募者のS/N比は超低い)。

そして、面接してオファーを出しても断られがち。まぐれで一人採用できても、つぎの人を取るのに手間取っているうちに辞められて、振り出しにもどる、とか。

「そんなハイエンドの人じゃなくていいです」

と思うかもしれないが、「普通のエンジニア」をとるのだったら、シリコンバレーに来る必要はない。「普通の人」でもシリコンバレー相場で高給。何度も言っているが、別にシリコンバレーだからと言って普通の人も優秀なわけではない。

On Off and Beyond: 日本企業のアメリカ進出:組織づくりはトップから雇用する

うん、これは実際に僕が昔体験したことと、現在各所で見聞きすることと同じだ。巨大企業に入っていようが使えないエンジニアは本当に使えないし、そういった使えないエンジニアは実際かなり多い。だから学生のうちに才能を見出して夢を見させて買い叩くY combinatorモデルはかなり投資回収率が高かったりするのだ。

ITエンジニアについて、シリコンバレーはトップティアは真に世界一だと思うが、それより下は東京のエンジニアの方が平均的なスキルが高いと思うよ。

(via kashino) (via yuco) (via puuq)

(via otsune)

(via kkk6)
+
ほとんどの人が、自分自身の視野の限界を世界の限界だと思い込んでいる。だが、何人かはそうではない。彼らの仲間入りをしなさい。 ショーペンハウエル
Twitter / 名言bot (via yellowblog) (via usaginobike) (via thinkupstudio) (via ak47) (via jacony) (via uncate) (via heis101) (via uessai-text) (via ssbt)
Page 1 of 514