タグ

Gitに関するattokuのブックマーク (82)

  • Gitで他ブランチの特定のコミットまでマージする

    特定コミットまでのマージ Gitで他ブランチの特定のコミットまでマージするは、git merge <コミットのハッシュ>を実行します。 検証環境:Git for Windows v2.42.0 まず、以下のようなコミット状況であるとします。ここで、main, developはブランチ、A~Eはコミットのハッシュです。 [main] A---B \ [develop] C---D---E mainブランチにdevelopブランチのDコミットまで取り込みたいとします。 [main] A---B---C---D \ [develop] E この場合、mainブランチに移動して、Dコミットを指定してマージします(developブランチの指定は不要)。

    Gitで他ブランチの特定のコミットまでマージする
    attoku
    attoku 2024/07/11
  • Gitで特定のファイルだけをマージする - きじさばメモ

    error: pathspec 'hoge.css' did not match any file(s) known to git

    Gitで特定のファイルだけをマージする - きじさばメモ
    attoku
    attoku 2024/07/05
  • Git の一般的な落とし穴を回避します: ベスト プラクティスと回復手順。 | DevelopersIO

    Gitは、バージョン管理に強力なツールで、開発者がコード変更を追跡し、プロジェクトで協力し、作業履歴を維持することを可能にします。Gitは複雑なプロジェクトを管理するための堅牢なフレームワークを提供しますが、同時にプラットフォームの初心者にとっては習得の曲線があり、一般的なミスにつながる可能性があります。これらのエラーは、些細な面倒から、プロジェクトのワークフローに重大な混乱をもたらすまでさまざまです。 これらの落とし穴を理解し、回避することは、プロジェクトの整合性と安定性を維持するだけでなく、チームメンバー間の効果的な協力関係を育むためにも不可欠です。このブログでは、Gitを使用する際にユーザーが直面する最も一般的な課題について掘り下げます。メインブランチへの直接コミット、ブランチの非効率的な使用、不適切なコミットの処理、マージコンフリクトの解決など、さまざまな問題を探ります。 一般的な

    Git の一般的な落とし穴を回避します: ベスト プラクティスと回復手順。 | DevelopersIO
    attoku
    attoku 2024/05/24
  • Gitの最終コミット日時を任意のフォーマットで自動で取得、表示する - Qiita

    やりたいこと サイトトップに「最終更新日時:2020/05/01 12:23:00」と Gitでの最終コミット時間を自動で表示。 やったこと サイトに最終更新日時を表示するだけなら方法は色々あると思いますが 今回は、番反映を行えば自動で表示されるようにしたかったので Gitフックを利用してマージ時に自動で日時をファイル出力しておき サイト表示時に値を取得、表示という流れにしました。 1.まずは最終更新日時の確認 下記コマンドで最終コミット日時を任意のフォーマットで取得できました。

    Gitの最終コミット日時を任意のフォーマットで自動で取得、表示する - Qiita
    attoku
    attoku 2024/02/24
  • git stash -u したファイルの戻し方

    質問をすることでしか得られない、回答やアドバイスがある。15分調べてもわからないことは、質問しよう!新規登録して質問してみよう

    git stash -u したファイルの戻し方
  • ミクシィ、新卒向け研修資料を無償公開 「Git」と「テスト・設計」 今後も随時公開

    MIXI(旧社名ミクシィ)は5月8日、同社の新入社員向け技術研修で使用した資料を無償公開した。分散型バージョン管理システム「Git」とテスト・設計研修の資料をスライド共有サービス「Speaker Deck」で公開中。動画も後ほど公開するという。 Git研修資料は約470ページあり、Gitを使ったチーム開発の進め方やGitの内部構造などを記載している。テスト・設計研修の資料は約40ページ構成で、テスト技法やコードレビューのコツなどを紹介。いずれの資料も同社の社員が作成した。 同社は2021年から新入社員向け研修の資料を一般公開しており、22年はUnityでのゲーム開発やAIセキュリティ研修など全12種類の資料を自社ブログに掲載していた。同社の公式Twitter(@mixi_engineers)は「今後も随時資料や動画を公開していく」としている。 関連記事 ミクシィ、技術カンファレンスを初

    ミクシィ、新卒向け研修資料を無償公開 「Git」と「テスト・設計」 今後も随時公開
  • Gitの内部構造をよく理解して、うまく使おう【基本の仕組みを解説】

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

    Gitの内部構造をよく理解して、うまく使おう【基本の仕組みを解説】
  • gitignore の除外が反映されない時の対処方法 | WWWクリエイターズ

    gitignore が反映されない原因 1すでにgit add され、追跡対象になっている .gitignore  は、「git add 実行時に、新規にステージングしない」ためのファイルです。これが仕様ですので、すでに追跡が開始しているファイルは、gitignore に追記しただけでは、反映されません。 追跡済みのファイルを除外する方法 すでに追跡されているファイルも、git rm コマンドで、追跡を除外できます。ファイル実体を残したいときは、--cached オプションを付けましょう。 # 追跡を除外、ファイルを削除 $ git rm <FILE_NAME> # 実際のファイルは残して、追跡だけ除外 $ git rm --cached <FILE_NAME> 2ファイルの改行コードの問題 改行コードが「CR」のみの場合、git がうまく設定を認識しません。「LF」を加えるようにしましょ

    attoku
    attoku 2022/05/24
  • git commit --fixup が便利 - Qiita

    始めに 私は最近エンジニアに復帰し、現場で便利に思ったことを今後記事にできたらと思っています。 そして1発目は、gitのオプションについて記事を書いてみようと思います。 --fixup はどんな時に使えるの? Pull Requestなどで、軽微な指摘や後から気付いた修正など、来の機能のコミットとは別に修正コミットを残すのは少し嫌な時がありますよね。 コミットが一つ手前であれば、直前のコミットを修正してくれる git commit --amendなどで対応できますが、3つ前のコミットに修正を混ぜ込みたい時などは、少し大変。 そんな時に便利なのが、この git commit --fixupです。 使い方 例えば、下記のコミットの状況で、Fix article pageのコミットに対して、追加の修正をしたいとする。 ❯ git log --oneline 1131338365 (HEAD -

    git commit --fixup が便利 - Qiita
    attoku
    attoku 2022/04/15
  • git pullを自動で行う - Qiita

    $ cd /home/git/test/test.git $ cd hooks $ ls applypatch-msg.sample post-update.sample pre-push.sample prepare-commit-msg.sample commit-msg.sample pre-applypatch.sample pre-rebase.sample update.sample fsmonitor-watchman.sample pre-commit.sample pre-receive.sample

    git pullを自動で行う - Qiita
    attoku
    attoku 2020/10/02
  • Git submoduleの押さえておきたい理解ポイントのまとめ - Qiita

    みなさんgitのsubmoduleって理解して使ってますか? 親プロジェクトをpullしたら、submoduleがmodifiedになって混乱してgit addして...あばばばば。みたいな事ないですか? 私はsubmoduleがなかなか理解できずに結構苦労しました。^^; ブランチ単位で管理する通常のリポジトリと違い、submoduleはCommitID単位で管理するというのが一番理解しにくい部分だと思います。 今回は、プロジェクトにsubmoduleを追加、更新、削除の動きを更新を掛ける側のプロジェクトと更新を受け入れる側のプロジェクトの2つの視点から追いながら、CommitIDで管理するとはどういう事なのかを解説していきます。 (結論だけ見たい人は末尾のまとめへ) 準備 「submoduleを開発する役割のプロジェクト test_app_A」と「submoduleを取り入れる役割のプ

    Git submoduleの押さえておきたい理解ポイントのまとめ - Qiita
    attoku
    attoku 2020/06/08
  • githubとgitlabにsshアクセス設定するおさらい - haiju's 開発メモ

    過去にbitbucketでsshアクセスする記事を書いて、最近、新しい ノートパソコンにgithubgitlab用の設定をしたのだがブログに 記事をまとめてなかったことに気づいたw(ΦωΦ;) それで、ノートにまとめた内容を備忘録にまとめてみる。 [手順] 1. ssh鍵を作成。 使用したいアカウント毎に以下コマンドを実行し、鍵ペアを 作成。 % mkdir .ssh % cd ~/.ssh % ssh-keygen -t rsa -C {github(gitlab)email-address} -f {作成する鍵の名前} ※パスフレーズを指定する場合、任意の文字列を2回入力する。 2. ssh設定ファイル(~/.ssh/config)の編集。 アカウント毎にssh鍵を使い分けるため、ssh設定ファイルにHost(接続元) の登録を行う。以下の通り、書き換える。 (ex) github

    githubとgitlabにsshアクセス設定するおさらい - haiju's 開発メモ
  • 【gitコマンド】いまさらのrevert - Qiita

    20190430追記 わかりにくい表現を修正しました。 内容の変更はしていません。 追記ここまで ちょこちょこ使う機会はあったのですが、いまいち使いこなせていなかったrevertについて改めて調べました。 #revert とは 既存のコミットを取り消すためのコマンドです。 「取り消したいコミットを打ち消すようなコミットを新しく作成する」という処理によって、既存のコミットを取り消します。 新しくコミットを追加しているだけなので、既存コミットの履歴が消えるわけではありません(コミットログをみると残っています)。 どんな変更があったのかということが(revertしたということも含めて)残るので、リモートにpushされて公開されているコミットに対しても安全に使うことができます。 「既存のコミットを元に戻す」という点について、同じような機能を持つコマンドにresetが存在します。 resetコマンド

    【gitコマンド】いまさらのrevert - Qiita
    attoku
    attoku 2020/04/13
  • Gitでremoteリポジトリから新規にbranchを持ってくる方法 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    Gitでremoteリポジトリから新規にbranchを持ってくる方法 - Qiita
    attoku
    attoku 2019/10/17
  • [Git] .gitignoreの仕様詳解 - Qiita

    対応バージョン この記事の内容は、少なくともGitのバージョン2.19.1までは対応している。 もし最新のGitで新しい動きがあれば随時更新する。 基 .gitignoreを使うと無視する(Gitのトラッキングの対象外とする)ファイル or ディレクトリを指定できる。 .gitignoreは複数のディレクトリに置くことができる。 深い階層の.gitignoreに書かれた指定の方が優先順位が高い。(後に解釈される) .gitignore内の記述は上の行から順に以下のように解釈される。 /を含まない行(fileなど) .gitignore以下の全サブディレクトリ下にあるこの名前のファイル or ディレクトリを無視する 末尾以外にのみ/を含む行(/file, /path/to/file, path/to/fileなど) .gitignoreが置いてあるディレクトリをカレントディレクトリとする相

    [Git] .gitignoreの仕様詳解 - Qiita
    attoku
    attoku 2019/08/01
  • Git: バージョン管理の対象から外したいファイルを「.gitignore」に記述する - すたらブログ

    最終更新: 2017年4月8日 目次 「.gitignore」の基 すでにGitの管理下にあるものを除外したい 除外指定に該当するものを確認する 「.gitignore」の基 キャッシュファイルなど、バージョン管理の対象から外したいファイルは.gitignoreに記述します。 .gitignoreを設置した階層からそれ以降の階層にかけて有効になります。 (.gitignoreの記述例) # 「.AppleDouble」フォルダを除外 .AppleDouble/ # 「.DS_Store」や「._.DS_Store」を除外 *.DS_Store # あらゆる階層の「cache」フォルダの中身だけを除外。 # 「cache」フォルダ自体は無視しない。 # 詳しくは下記のリンクを。 **/cache/* !.gitkeep 公式: https://git-scm.com/docs/gitig

    Git: バージョン管理の対象から外したいファイルを「.gitignore」に記述する - すたらブログ
    attoku
    attoku 2019/07/03
  • 実務でどんな git コマンドを使っているか振り返ってみる - Qiita

    gitコマンドって実務でどう使うんだろう? 独学の git コマンドを実務で使いまくり、最近やっとうまく運用できているように感じます。 そのうえで、git コマンドを勉強し始めた頃、「コマンドの説明はいっぱいあるけど、実務でどうコマンドを使うんだろう?」 と感じていたのを思い出しました。 そんな想いから、よく使う git コマンドを実務テイストで振り返ってみました。 記事に書いていないもの 実務では使うのですが、諸事情により以下は省いています。 submodule 当はこの記事に含めようかと思ったのですが、長くなりすぎてしまったので、需要がありそうだったら次回作に書こうかと思います。 プルリク コマンドの説明をしたいため、省きます。 Git Flow やら GitHub Flow やらの Flow 系の考え 説明がややこしくなってしまうので省きます。 developブランチ、maste

    実務でどんな git コマンドを使っているか振り返ってみる - Qiita
    attoku
    attoku 2019/06/28
  • git pullを使ってリモートリポジトリと同期する方法【初心者向け】

    git pullを使ってリモートリポジトリと同期する方法【初心者向け】 初心者向けにgit pullを使ってリモートリポジトリと同期する方法について実際にコマンドを打ちながら解説しています。Gitを使ったプルはまず最初に覚えておきたい知識のひとつなので、ぜひ自分でも使えるようにしておきましょう。 テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査 Git(ギット)はとても便利なバージョン管理システムです。 今回は、Gitの使用においても重要なg

    git pullを使ってリモートリポジトリと同期する方法【初心者向け】
    attoku
    attoku 2019/04/08
  • vendorディレクトリをGit管理下に置かないのは何故?

    リポジトリに含めた場合のメリット 各環境にComposerをインストールする必要がなくなる 依存パッケージに変更があっても git pull するだけで済む 場合によっては自分で composer install するより、リポジトリごと clone/pull した方が速い デメリット リポジトリのサイズが増えてディスクを圧迫する。 (依存パッケージを削除・変更しても、過去のコミットと一緒に残り続けます) フレームワークなどではファイル数が数千といった規模で増えるので、普段のGit操作が遅くなる可能性があります(主にWindows)。 依存パッケージを変更した際、大量のdiffが生まれます。GithubやBitbucketのようなツールで履歴を見たいときや、マージの確認をする時などには邪魔かもしれません。 WindowsLinux系ではvendor/binに生成されるファイルが若干異なり

    vendorディレクトリをGit管理下に置かないのは何故?
  • [git]マージ時のコンフリクトで片側の変更だけ適用する方法 - Qiita

    2つのブランチをマージした際にコンフリクトしたとして、どちらかだけを全面的に適用したい場合はどうするか。 以下のように、checkout --ours と checkout --theirs を使い分ければ良い。 # 2つのブランチ間でコンフリクトしているファイル fileA.txt と fileB.txt があるとする # fileA.txt を現在チェックアウトしているブランチ側の対応に合わせる場合 $ git checkout --ours fileA.txt $ git add fileA.txt # add を忘れずに # fileB.txt をマージさせたブランチ側に合わせる場合 $ git checkout --theirs fileB.txt $ git add fileB.txt $ git commit Register as a new user and use Qi

    [git]マージ時のコンフリクトで片側の変更だけ適用する方法 - Qiita