タグ

gitに関するamagasa99のブックマーク (6)

  • Gitの内部構造をよく理解して、うまく使おう【基本の仕組みを解説】

    対象読者 Gitをより深く理解したい方 Gitの自作に興味がある方 Gitの内部構造を学ぶ意義 Gitの使い方を知っている人でも、それぞれのサブコマンドが実際どういった挙動をしているか、ましてや内部構造がどうなっているかを学んだことがある人は少ないかもしれません。というのも、Gitが内部を知らなくとも十分使える優秀なツールになっているからだと思います。 しかし、Gitの内部実装を知ることで、コマンドの挙動を正確に理解できるだけでなく、Gitを使っていて何らかの問題が起きたときにも、自分で対処できるようになります。そうしたGitの地力を鍛えるために、内部構造の把握は重要な要素になってきます。 また、今回の内容を学べば、Gitの大枠を実装することもできてしまうので、興味がある方はぜひ挑戦してみてください。 Gitについての誤解 それでは、まずGitについて多くの人が誤解しているであろう点を挙げ

    Gitの内部構造をよく理解して、うまく使おう【基本の仕組みを解説】
  • Gitを作ってみる(理解編) - Qiita

    はじめに 都内でひっそり見習いエンジニアをしている@noshishiです。 addしてcommitするプログラムの作成を通じて、Gitを内部から理解しようという記事です。 前書き 昨年末、Gitの記事を書いて、理解できたなら作れるのではと思いったったのがこの記事の出発点です。 これを機に新しいプログラミング言語にも触れてみて、いろいろ学べたらと思いRustで今回挑戦しました。 (この時は、新たなことを同時に取り組み絶望すること知る由もない著者でした。軽い気持ちで手を伸ばした自分をしばきたいです。。。) 実際に作成した(継続開発中ですが)リポジトリは、こちらです。 ※一応ローカルでの一直線の開発はできそうな程度までは作成できました。コードのしょぼさはご容赦ください。 この記事だけでは説明しきれない部分があることをご容赦ください。 もちろん、間違い等あれば、ぜひコメントいただけると幸いです。

    Gitを作ってみる(理解編) - Qiita
  • Linus Torvalds氏によるGitの内部構造の解説 - Qiita

    初めに LinusによるGitのinitial commitのREADMEの訳です。 社内のSVNからの移行を促すために資料を整備していたのですが、SVNでやっていたことを移し替えたりコマンドを覚えたりするより内部構造を知ったほうが早いことに気づきました。 それで、gitの内部構造についての解説資料を色々見ていたのですが、データ構造については原作者のこのREADMEに言い尽くされている気がします。のみならず、gitを使うものが抱くべき精神性のようなものが示されており、深い感銘を覚えました(ヒャッハー)。 README: ”GIT - 馬鹿コンテンツトラッカー” コミットメッセージ:git, 地獄からきたインフォメーションマネージャ gitの意味 "git" は何を意味することも出来る、お前の気分次第だ。 3文字で、発音可能で、実際のUNIXシステムで共通コマンドとして使われていないものであ

    Linus Torvalds氏によるGitの内部構造の解説 - Qiita
  • Git の内部構造を知っていたら、リモートリポジトリへアクセスできないホストへ差分を適用できた話(実話) - Qiita

    さて、あなたは手元のマシンのローカルリポジトリから、このサーバーへ差分を送信しなければなりません。 計画 手段は2つ考えられます: 手段1: 適当な Git サーバーを利用して、アプリケーションサーバーから pull する 手段2: SSH 経由で Git オブジェクトを送り込む 手段3(追記): (もっと簡単な方法があります。コメントをご参照ください) 手段1では、アプリケーションサーバーからのアウトバウンド接続が許可されていなければなりません。面倒なので、今回は SSH が繋がるならどんな状況でも対応可能な手段2をとることにします。 なお、手段2にある「Git オブジェクト」について、軽く説明しておきましょう。Git が管理するリソースは、主に次の4種類のオブジェクトとして保存されています1: Commit: 1つのコミットを表すオブジェクト。コミットメッセージや日時、直前のコミットへ

    Git の内部構造を知っていたら、リモートリポジトリへアクセスできないホストへ差分を適用できた話(実話) - Qiita
  • あとからまとめて.gitignoreする方法 - Qiita

    .gitignore を設置 GitHub に .gitignore のテンプレートがあるのでそれを使うとらくです。 github/gitignore .gitignore をコミット チームで開発していたり、複数のマシンで編集する可能性がある場合は、他の環境でも同様にこれらのファイルを無視してくれるように、.gitignore 自体をコミットしてしまいましょう。

    あとからまとめて.gitignoreする方法 - Qiita
  • git commit のログをEmacsで書く設定を3行で - Qiita

    .gitconfigのeditorにemacsclientを設定する。 alternate-editorにemacsを設定する。 -t を忘れると日語が入らなかった。 git commitしたときのエディタをemacsにしました。ただemacsclientを使っているのでその辺で詰まったりしたのでメモ書き。 .gitconfigに、emacslientとemacsを両方設定 以下を.gitconfigに追加します。 [core] editor = "/usr/local/bin/emacsclient -t" --alternate-editor /usr/local/bin/emacs homebrewでemacsを入れたので/home/local/bin/以下のemacsを指定します。また普通はemacsclientを使っているので、起動できたらemacsclient→出来なかったら

    git commit のログをEmacsで書く設定を3行で - Qiita
  • 1