勉強日記

チラ裏

Git

Version Control with Git ch14 Patches (1/2)

shop.oreilly.com Patches Why Use Patches? Generating Patches Patches And Topological Sorts 英語 Patches Gitネイティブプロトコル、HTTP以外の方法でもリポジトリの同期をとれる Unix開発黎明期からの"patch and apply"が使える git format-patch eメ…

Version Control with Git ch17 Submodule Best Practices

shop.oreilly.com Submodule Commands Why Submodules? Submodules Preparation Why Read Only? Why Not Read Only? Examining the Hashes of Submodule Commits Credential Reuse Use Cases Multilevel Nesting of Repos Submodules on the Horizen 英語 Su…

Version Control with Git ch15 Hooks

shop.oreilly.com Hooks Column Junio's Overview of Hooks Installing Hooks Example Hooks Creating Your First Hook Available Hooks 英語 Hooks リポジトリローカル cloneで伝播しない 大別 pre アクション満了前に実行 承認/否認、変更反映等に利用 exi…

【git】masterからトピックを切っていたと思ったら、いつのまにかトピックから切っていた話【origin masterにpushするな】

TL;DR ぜんてい リモートの更新をローカルのトピックブランチに取り込む NG: ローカルでmasterを更新してリモートにpushする 模範解答: Pull Request (Merge Request) を発行する 次点: git merge 時、--no-ffオプションを付ける あ…ありのまま 今 起こった…

Git ch13 Repository Management (1/x)

shop.oreilly.com Repository Magagement A Word About Servers Publishing Repositories Repositories with Controlled Access 英語 Repository Magagement リポジトリ集中型/分散型 開発モデルとは直交 Gitを用いた開発モデルはあくまで分散型 リポジトリ…

Version Control with Git ch12 Remote Repositories (2/2)

shop.oreilly.com Remote Repositories (続き) # Developing in Your Repository Pushing Your Changes Adding a New Developer Getting Repository Updates The fetch step The merge or rebase step Should you merge or rebase? Remote Repository Develo…

Version Control with Git ch12 Remote Repositories (1/x)

shop.oreilly.com Remote Repositories Repository Concepts Bare and Development Repositories Repsitory Clones Remotes Tracking Branches Referencing Other Repositories Refererring to Remote Repositories The refspec Example Using Remote Reposi…

Version Control with Git ch9 Merges (3/3)

shop.oreilly.com Merges(続き) Applying Merge Startegies コラム: Using ours and subtree Merge Drivers How Git Thinks About Merges Merges and Git's Object Model Squash Merges Why Not Just Merge Each Change One by One? Merges(続き) Applying M…

Version Control with Git ch9 Merges (2/3)

shop.oreilly.com Merges(続き) Merge Strategies Degenerate Merges Normal Merges Resolve Recursive merges Octopus merges Specialty Merges Ours Subtree 英語 Merges(続き) Merge Strategies criss-cross mergeで必要となる概念 merge-baseをうまく決…

Version Control with Git ch9 Merges (1/3)

shop.oreilly.com Merges Merge Examples Preparing for a Merge Merging Two Branches A Merge with a Conflict Working with Merge Conflicts Locating Conflicted Files Inspecting Conflicts git diff with conflicts git log with conflicts How Git Ke…

Version Control with Git ch11 The Stash and the Reflog

shop.oreilly.com The Stash The Reflog 英語 The Stash ユースケース 割り込みタスク indexとworking directoryをWIPとしてすばやく退避する dirty treeへのpull インデックスと作業ディレクトリをstashに退避してからgit pullする cf. ブランチ切り替え ブ…

Version Control with Git ch10 Altering Commits

shop.oreilly.com Altering Commits Philosophy of Altering History Caution About Altering History Using git reset Using git cherry-pick Using git revert reset, revert, and checkout Changing the Top Commit Rebasing Commits Using git rebase -i…

Git Submodule と Git Subtree 練習・まとめ

モチベーション 予習 最初の状態 最終的な状態 git submodule submodule切り出し submodule取り込み git subtree モチベーション Laravelアプリケーションで、docker実行環境とmigrationを別repositoryに切り出したい docker実行環境 ... git submodule 他ア…

Version Control with Git ch8 diffs

shop.oreilly.com Diffs Forms of the git diff Command Simple git diff Example git diff and Commit Ranges git diff with Path Limiting Comparing How Subversion and Git Derive Diffs 英語 Diffs diffが提供するもの 2つのファイルがどのように異なる…

Version Control with Git ch7 Branches

shop.oreilly.com Branches Reasons for Using Branches コラム: Branch or Tag? Branch Names Dos and Don'ts in Branchs Names Using Branches Creating Branches Listing Branch Names Viewing Branches Checking out Branches A Basic Example of Checki…

gitリポジトリが壊れたので.git/ディレクトリの中身を完全理解して修復した話

gitリポジトリが壊れた Gitのオブジェクト 壊れていない場合 壊れている場合 直す gitリポジトリが壊れた statusを確認したところエラーが git status error: object file .git/objects/06/f2e0fd1f94d73e7a59fdd0ab765957e339b8d2 is empty error: object f…

Version Control with Git ch6 Commits

shop.oreilly.com Commits Atomic Changesets Identifying Commits Absolute Commit Names refs and symrefs Relative Commit Names Commit History Viewing Old Commits Commit Graphs Using gitk to view Commit Graph Commit Ranges Reachability in Grap…

Version Control with Git ch5 File Management and the Index

shop.oreilly.com File Management and the Index It's All About the Index File Classifications in Git Using git add Some Notes on Using git commit Using git commit --all (git commit -A) Writing Commit Log Messages Using git rm Using git mv A…

Version Control with Git ch4 Basic Git Concepts (2/2)

shop.oreilly.com Git Concepts at Work Inside the .git Diretory Objects, Hashes, and Blobs How Do We Know a SHA1 Hash Is Unique? Files and Trees A Note on Git's Use of SHA1 Tree Hierarchies Commits Tags 英語 Git Concepts at Work 実際にGitリ…

Version Control with Git ch4 Basic Git Concepts (1/2)

shop.oreilly.com Basic Concepts Repositories Git Object Types Index Content-Addressable Names Globally Unique Identifiers Git Tracks Content Pathname Versus Content Pack Files Object Store Pictures 英語 Basic Concepts 前章で生じたであろう…

Version Control with Git ch3 Getting Started

shop.oreilly.com ch3 Getting Started git help --all git commit <ファイル名> git show-branch 設定ファイル 英語 ch3 Getting Started git --version git version 2.17.1 超導入なので知らなかったもののみ git help --all 全サブコマンドが出てくる git…

gitでHEADのパーミッションエラーが出た話

Git

HEADのパーミッションエラーが出た .git/HEADをエディタで開いて上書き保存・閉じたら直った 詳細 現象 dockerコンテナ環境でLaravel開発 watchコマンドでPHPUnitを定期実行 別のターミナルでgit rebase -iするとリベースに失敗 git rebase abortするとHEAD…

GitLab建てた

世間一般的に使われているVCSを使いたい(切実) 拾ってくる www.damagehead.com docker-compose.ymlが配布されているのでこれをdocker-compose up -d するだけ ハマりどころ windows10だと、named volumeじゃないとpostgresが死ぬ postgresql: restart: alway…

Git on shell on Emacsで、コミットメッセージを同じEmacs上で編集する

TL;DR 直面した問題 解決方法 Emacsをサーバーモードで起動する設定 Gitのエディタの設定 結果 TL;DR GIT_EDITOR=emacsclient M-: (server-start) RET 直面した問題 shellの上でEmacsを使う者と、Emacsの上でshellを使う者がいる 僕は後者です。 全ての作業…