タグ

gitに関するkirakkingのブックマーク (21)

  • git push -f が更に安全になる --force-if-includes - id:onk のはてなブログ

    歴史改変、してますか? 私は歴史改変が大好きで、毎日 rebase しています。なので割と毎日 git push -f することになっています。 口で -f と言っても、実際には --force-with-lease --force-if-includes をしているので、これらのオプションのご紹介。 この記事は はてなエンジニア Advent Calendar 2022 の 18 日目です。昨日は id:rokoucha さんで 壊れたデータベースとの向きあいかた - rokoucha でした。 qiita.com -f の危険性 ...--F--G--H <-- main という状態で push した後、H をコミットし直したとしよう。 ...--F--G--H' <-- main \ H <-- origin/main このまま H' (main) を origin/main に p

    git push -f が更に安全になる --force-if-includes - id:onk のはてなブログ
  • Tig で Git を自由自在に操作するための .tigrc 設定例 - Qiita

    記事は Git Advent Calendar 2016 の12日目です。執筆者は sfus です。 はじめに Tig は軽量でグラフィカルな ncurses ベースのテキストユーザインタフェース Git クライアントです。ターミナル上で Git GUI クライアントのような表示・操作を行うことができる便利なツールです。 記事では既に Tig を利用している方向けに、より便利になる設定をご紹介します。 (Tig に詳しくない方は次の記事が詳しいと思います) tigでgitをもっと便利に! addやcommitも - Qiita カスタマイズ tig を起動して h を押せばキーバインド一覧が表示されますが、デフォルトのキーバインドは最低限度のものしか設定されていません。 ユーザは ~/.tigrc に設定を書くことで Tig の表示やキーバインド設定をカスタマイズすることができます。

    Tig で Git を自由自在に操作するための .tigrc 設定例 - Qiita
  • Git Tutorials and Training | Atlassian Git Tutorial

    Connect thousands of apps and integrations for all your Atlassian products

    kirakking
    kirakking 2018/04/10
    これ "https://www.atlassian.com/ja/git" なくなってた。
  • Gitのスケーリング(と、その背景) | POSTD

    数年前、Microsoftは、社内全体のエンジニアリングシステムを活性化させるため、数年間にわたる投資を行う決定をしました。私たちは山のような数のチームを抱える大企業です。チームはそれぞれ、担当のプロダクト、独自の優先順位、プロセス、ツールを持っています。”共通の”ツールもありますが、チームによって様々に異なる点も多く、内部で開発した単発のツールも数え切れないほどあります(「チーム」とは社の部門のようなもので、数千のエンジニアの集まりです)。 この状況にはたくさんのマイナス面があります。 似たようなツールを構築しているチームがいくつもあり、巨額の冗長な投資が生まれている 「クリティカルマス(損益分岐点を超える生産量、普及率)」に向けた設備投資ができない 皆がバラバラのツールやプロセスを用いているため、従業員が異動しにくい 組織の垣根を越えてのコード共有が難しい “MS限定”ツールの過多のた

    Gitのスケーリング(と、その背景) | POSTD
  • 今日からはじめるGitHub ~ 初心者がGitをインストールして、プルリクできるようになるまでを解説|ハイクラス転職・求人情報サイト AMBI(アンビ)

    今日からはじめるGitHub ~ 初心者がGitをインストールして、プルリクできるようになるまでを解説 エンジニアであれば、チーム開発ではもちろんのこと、個人開発でもGitを用いてバージョン管理していきたいもの。今回は、GitGitHubをはじめて使う人に向けて、導入から初歩的な使い方までを解説します。 ソースコードの管理はできていますか? ファイルを修正するときに、修正前のソースコードをhoge.php.bakのようなバックアップファイルとして残し、開発環境をゴミだらけにしていませんか? エンジニアであれば、チーム開発ではもちろんのこと、個人開発でもGitを用いてバージョン管理していきたいもの。今回は、GitGitHubをはじめて使う人に向けて、導入から初歩的な使い方までを解説します。 ここではGitの詳細な仕組みには触れません。GitGitHubを利用したことのない人が、Git

    今日からはじめるGitHub ~ 初心者がGitをインストールして、プルリクできるようになるまでを解説|ハイクラス転職・求人情報サイト AMBI(アンビ)
  • Markdown原稿をGitHubで管理して本にする仕組みが出版社で導入されないわけ

    これ、FAQっぽいんで、ちょっと私見を書いておこうと思います。 とくに技術書に関しては、Markdownで原稿を書きたいとか、修正はPull Requestでもらえると楽とか、そういう便利な世界を知っている人たちが執筆者なので、 「MS Wordで書いてもらった原稿を、こちらでDTPの担当者に組版してもらいます。修正は紙に赤字か、PDFをメールで送るので、そこにコメントを入れてください」という古き良き時代の出版社のやり方を目にすると、 「出版社って遅れてるよなー」という感想を抱かれることが多いのだと思います。 その結果、「自分たちはITのプロとして出版のためのプラットフォームを作れるだろうから、それを使ってもらえないものか」という方向の考え方に至るのはよくわかります。 しかし、これには、二つの面から「ちょっと認識が違うから待って」と言いたい。 まず「認識が違う」と思うのは、プレインオールド

  • Pass: The Standard Unix Password Manager

    Introducing pass Password management should be simple and follow Unix philosophy. With pass, each password lives inside of a gpg encrypted file whose filename is the title of the website or resource that requires the password. These encrypted files may be organized into meaningful folder hierarchies, copied from computer to computer, and, in general, manipulated using standard command line file ma

    kirakking
    kirakking 2016/04/06
    パ[command line]スワードを追加/削除すると自動的にGitにコミットされた。本当にディレクトリ作ってGPGファイルを置いているだけでなんだけど、bash補完で鍵名補完できるので使いやすさを保証している。
  • もうGitは怖くない: 自信を持って使いたいあなたへ - 檜山正幸のキマイラ飼育記 (はてなBlog)

    2014初頭に書いた「WindowsにおけるGit利用環境は整った: Git for Windows と SourceTree for Windows」の最後の文: ブランチは、Gitのなかで最も重要でありながら最も分かりにくい概念でしょう。表面的な言葉に騙されず、先入観を持たず、SourceTreeの視覚的表示(樹形図)の力を借りながら学習するのが、理解への一番の近道です。 そんへんの詳しいことはまたの機会に述べるかも知れません。 1年半以上たってしまいましたが、「またの機会」がやって来ましたよ。ええ、Gitの説明をします、ブランチを中心に詳しく。 「基礎編」と「ブランチ編」で2回に分けようかと思ったけど、長大な記事として一挙公開。これからGitを使う人が対象ではありません。Gitが何をやっているのか、自分が何をやっているのかイマイチ自信が持てない方向けです。 ブランチやマージって、なん

    もうGitは怖くない: 自信を持って使いたいあなたへ - 檜山正幸のキマイラ飼育記 (はてなBlog)
    kirakking
    kirakking 2015/09/28
    "ブランチの切り替えは、ラベルの書き換えだけでは済まなくて*13、checkoutによる作業ディレクトリ(ワークツリー)の更新も生じます" だからcheckoutは重い操作なのか。大変勉強になった。
  • テキストでないファイルのdiff(差分)をとる方法 - ザリガニが見ていた...。

    AppleScriptはスクリプト言語なんだけど、ファイルに保存するときはAppleScript形式にコンパイル(変換)される。その結果、AppleScriptエディタでは人間が理解できるコードに見えるのに、普通のテキストエディタで開くとこんな状態。 その実態は、AppleScript独自のバイナリファイルなのだ。バイナリファイルの痛いところは、diffを実行してもそのままでは差分がとれないこと。どうしても差分をとりたいと思うのなら、いったんAppleScriptファイルを開いて、テキストファイルとして保存したファイルに対してdiffを実行するしかない。 しかし、それでは手間がかかりすぎる。手軽にdiffできないと、いずれ使わなくなる。そんな訳で「AppleScriptはバイナリファイルなのだから、しょうがない」と以前から諦めていたところがあった。(Gitのあの素晴らしい仕組みを知るまでは

    テキストでないファイルのdiff(差分)をとる方法 - ザリガニが見ていた...。
  • git? tig! | Atlassian Japan 公式ブログ | アトラシアン株式会社

    私は Git の大ファンですが、そのためほとんどの UI (ユーザーインターフェース)、特に IDE に統合されているものに関してはそれほどの大ファンではありません。これらの UI は複雑でややこしいのです。これらはいくつかの一般「VCS」言語をコマンドにマップしようとします。または隠しすぎるので、何が起こっているのか理解しずらくしてしまいます。更にひどい場合: Tcl/Tk で書かれています… 端的に言えば、私はこれらの UI を信頼していません。 コマンドラインは私のためのものです。自分のコマンドラインは好きなので、これは素晴らしいものです。ほとんどいつでも履歴の「グラフィック」ビューを見られることや、コミットを準備している時に少し助けてもらえるのは良いことです。 tig で入力する。tig はテキストモード、 Jonas Fonseca によって書かれた git 用の ncurses

    git? tig! | Atlassian Japan 公式ブログ | アトラシアン株式会社
  • Git の仕組み (1) - こせきの技術日記

    目次 はじめに Git を使ったことがない方へ 生のデータが見たい方へ Git の全体像 .git の中身 Git オブジェクトデータベース 4種類のオブジェクト リファレンス リファレンスのリファレンス 大きなツリー Git オブジェクトの ID と 中身 ハッシュ関数 SHA1 の簡単な説明 tree と blob オブジェクト tree と blob の参照関係 ルートツリーの ID でツリー全体を識別する commit オブジェクト リファレンスとブランチランチランチ先頭を指すリファレンス HEAD リファレンス detached HEAD 2種類のタグ 一時待避 (stash) インデックス キャッシュとしての役割 マージ Fast-Forward マージ non Fast-Forward マージ rebase reset 2種類のブランチ 各リポジトリが自分のブランチ

    Git の仕組み (1) - こせきの技術日記
  • 1つのgitリポジトリに複数の作業ディレクトリを作る - Qiita

    (commit or stash + checkoutすらめんどいことだって、あるんですよ・・) そもそもリポジトリと作業ディレクトリの違いって? gitリポジトリには、コミットされている内容やブランチなどの全ての情報がつまっています。一方で作業ディレクトリは、リポジトリ内のあるcommitの内容を、ファイルとして書き出したものになっています。 git-new-workdirコマンド gitリポジトリに紐づく新たな作業ディレクトリを作成します。 ただし、デフォルトでPATHが通っていません。Fedoraあたりなら /usr/share/doc/git-1.7.10.2/contrib/workdir/git-new-workdir に、homebrewなら /usr/local/Cellar/git/1.7.12.4/share/git-core/contrib/workdir/git-n

    1つのgitリポジトリに複数の作業ディレクトリを作る - Qiita
    kirakking
    kirakking 2014/06/04
    これを使えば
  • ブログ | ウェビングスタジオ

    十数年ぶりに就職して一所懸命働いているうちに、夏が過ぎ、秋が来て、クリスマスの季節になっていました。クリスマスケーキの予約のついでに買ってきたモンブランタルトをべつつ、近況報告を書いています。 具体的なことは書けません […]

    ブログ | ウェビングスタジオ
    kirakking
    kirakking 2014/04/15
    無料OKか。
  • Git を学ぶ - チュートリアル、ワークフローおよびコマンド | Atlassian

    Git は、元々 Linus Torvalds によって 2005 年に作られた、無料でオープンソースのバージョン管理システムです。他の SVN や CVS といった中央バージョン管理システムと違って、Git は分散型で、すべての開発者がローカル環境で彼らのコードのリポジトリの完全な履歴を持っています。これは、最初のリポジトリのクローン作成に時間がかかりますが、commitblame、diff、merge、log といったこれに続く作業を劇的にスピードアップします。 Git は多くの革新的で強力なワークフローやツールにつながる、リポジトリ履歴のブランチ、マージ、および書き換えに非常に役立ちます。プル リクエストは、チームが Gitランチでコラボレーションを行い、他のコードを効果的に見直すことができる、非常に人気のツールです。Git は現在世界で最も広く使用されているバージョン コント

  • 【派閥別】Gitのコミットを間違えたときの対処法まとめ - 本当は怖いHPC

    追記:たくさんブクマしていただいて驚いております。ブクマコメントだと、やはり git push -f は反則だろという意見がサイレントマジョリティのようですが、そこはそれ、自 己 責 任 追記2(2011/11/07):commit messageをミスった場合について訂正しました。 git rebase -i で直近のコミットを "edit" にして修正すると、 「--amend使えや」と言われるようです。 gitのコミットをしくじった時の対処法について、一覧性の高いまとめがなかったので作りました。正確さは保証できないので、コマンド名ヒントに自分でググって下さい ほかのやり方があるよ、間違ってるよ等のご指摘歓迎です。 派閥別 gitでコミットミスった時のまとめ | ├─ 一人で使ってるよ |   | |   ├─ 手元に変更を取り戻したいよ(1)(そうだね、add忘れだね派) |   |

    【派閥別】Gitのコミットを間違えたときの対処法まとめ - 本当は怖いHPC
  • サル先生のGit入門〜バージョン管理を使いこなそう〜【プロジェクト管理ツールBacklog】

    ようこそ、サル先生のGit入門へ。 Gitをつかってバージョン管理ができるようになるために一緒に勉強していきましょう! コースは4つ。Git初心者の方は「入門編」からどうぞ。Gitを使った事がある方は「発展編」がおすすめです。さらに「プルリクエスト編」では、コードレビューする文化をチームに根付かせましょう。 「あれ?何だっけ…?」という時は「逆引きGit」で調べて見てくださいね。

    サル先生のGit入門〜バージョン管理を使いこなそう〜【プロジェクト管理ツールBacklog】
    kirakking
    kirakking 2013/10/29
    "pushしても、リモートリポジトリに反映されません"==>"git push -u origin master"
  • gitでローカル編集/add/commit/pushを取り消す(まとめ) - weblog of key_amb

    svnのときはrevertすればいいのだが、gitではリモートリポジトリにpushするまでのステップ数が多いのでややこしい。各ステップで巻き戻し方が異なるので、使い分けが必要。 この記事でそれらの方法についてまとめる。 最も確実な方法 ローカルリポジトリの変更を完全に破棄して構わない場合、リモートリポジトリから git clone し直すのが最も確実である。 これはたぶん、最後の手段になる。 ただこれだとpushは取り消せないので、そのやり方は後述する。 ローカル編集を消したい。 まだaddすらしていない状態だけど、行った変更を取り消したい。 そんなときは以下を打つ。 git checkout <path><path>にディレクトリを指定すれば、再帰的にcheckoutしてくれる。 ワーキングツリーの変更を全部取り消していい場合は、次のコマンドでもいい。 git reset --hard

    gitでローカル編集/add/commit/pushを取り消す(まとめ) - weblog of key_amb
  • Git にパッチを送って取り込まれた話

    Git の挙動に変なところを見つけたので、パッチを作って Git のメーリングリストに投げてみたところ、何度かのレビューを経て、無事に取り込まれた。 Git に貢献したい人とか、オープンソース開発の流れに興味がある人もいるだろうから、作業の流れを書いておくことにする。 1. バグを発見する 何はともあれ、修正したいところを見つけるところから。 先日、git difftool --dir-diff が便利すぎて泣きそうです という記事を書いたが、difftool --dir-diff の挙動を調べているうちに、一時ファイル書き戻し条件が変なことに気づいた。 手元のバージョンが古いのかとも思ったが、master ブランチでも再現したので、ちょっくら深入りしてみた。git difftool は Perl スクリプトだったので、ソースコードに print を追加しつつ挙動を探っていった。しばらく調

    Git にパッチを送って取り込まれた話
  • サル先生のGit入門〜バージョン管理を使いこなそう〜【プロジェクト管理ツールBacklog】

    ようこそ、サル先生のGit入門へ。 Gitをつかってバージョン管理ができるようになるために一緒に勉強していきましょう! コースは4つ。Git初心者の方は「入門編」からどうぞ。Gitを使った事がある方は「発展編」がおすすめです。さらに「プルリクエスト編」では、コードレビューする文化をチームに根付かせましょう。 「あれ?何だっけ…?」という時は「逆引きGit」で調べて見てくださいね。

    サル先生のGit入門〜バージョン管理を使いこなそう〜【プロジェクト管理ツールBacklog】
  • 【旧版】git入門 (全22回) - プログラミングならドットインストール

    旧版のレッスンは更新を終了しており、現状と異なる場合があります。サポートも終了しておりますので、最新版への移行をお願いします。

    【旧版】git入門 (全22回) - プログラミングならドットインストール
    kirakking
    kirakking 2013/06/28
    とりあえずここから。一回忘れて。