こんにちは、CX事業本部の若槻です。 今回は、Gitでのリモートブランチの操作で個人的にやらかしがちなことを備忘録として残させて頂きます。 どんなこと? 「他のメンバーがリモートにpushしたブランチをローカルで参照したり動かしたりしたい!」となり、git checkout -b <ブランチ名> origin/<ブランチ名>コマンドによりリモートからブランチをチェックアウトしようとしたら、 % git checkout -b myBranch origin/myBranch fatal: 'origin/myBranch' is not a commit and a branch 'myBranch' cannot be created from it というエラーとなりコマンドが失敗してしまうことがあります。 これはcheckoutコマンドで第二引数に指定した名前(origin/<ブラン
Yarn 2.1 🐱🏍 Git Workspaces, Focused Installs, Loose mode, Live Playground, ... How are you doing since January? So many things happened since then. I hope you're all safe, wherever you are. As for today, we'll be here to talk about Yarn. And as far as Yarn goes I'm happy to report that our work continued at a very good pace! So good in fact that it's now time to release the next minor build, th
The latest news from Google on open source releases, major projects, events, and student outreach programs. Kubernetes configuration manifests have become an industry standard for deploying both custom and off-the-shelf applications (as well as for infrastructure). Manifests are combined into bundles to create higher-level deployable systems as well as reusable blueprints (such as a product offeri
EngineeringOpen SourceHighlights from Git 2.35The open source Git project just released Git 2.35. Here's GitHub's look at some of the most interesting features and changes introduced since last time. The open source Git project just released Git 2.35, with features and bug fixes from over 93 contributors, 35 of them new. We last caught up with you on the latest in Git back when 2.34 was released.
B! 16 0 0 0 ChatGPTにGit commitのmessageを書かせる。 Gitのcommit messageを書くには git-gpt-commit 準備 インストール その他の準備 使い方 オプション設定 commitメッセージを作るための命令 命令部分 diffの出力 テンプレートメッセージ ChatGPTモデル -c/–changeオプション その他 コミットのキャンセル pre-commit alias aicommits 感想 Gitのcommit messageを書くには 必要な情報としては変更点に関する記述なのでgit diffの結果を見て何が変わったかを書けば良い、 という比較的形式的にはわかりやすいものです。 コマンドラインからChatGPTを簡単に使えるツールを作ったのでそこにgit diffの結果を与えて いい感じのcommit messageを考え
Git was born from the collaboration problems in the Linux kernel. Nearly a decade later, new problems arose when Kubernetes (the operating system of the cloud) brought open-source collaboration to a new level. I saw the pain points of git (and GitHub) firsthand working on Kubernetes open-source. Will a new version control system (or something that solves similar problems) spring up? Some ideas on
EngineeringOpen SourceHighlights from Git 2.37The open source Git project just released Git 2.37. Take a look at some of our highlights from the latest release. The open source Git project just released Git 2.37, with features and bug fixes from over 75 contributors, 20 of them new. We last caught up with you on the latest in Git back when 2.36 was released. To celebrate this most recent release,
Note: This post stirred up some interesting discussions on HackerNews and Lobste.rs. SQLite stores data in binary. If you run cat mydb.sqlite, you'll see a bunch of gibberish that doesn't resemble structured data at all. If you want to track changes and updates to a database using Git, you won't be able to see full diffs by default. You'll see that the file has changed, but not what changed exactl
Git Flow のブランチモデルは図で描かれることが多いです。Excel や Illustrator で描くと綺麗ですが修正や管理が大変です。 PlantUML はテキストで書けて修正や管理が簡単です。そして図の表示もできる PlantUML で Git Flow を書きました。 前半は git-flow のブランチモデルを PlantUML で作成する手順を 5 Step で紹介します。 後半は GitHub Flow や GitLab Flow そして git-flow を改善した Git Epic Flow を紹介します。 用語説明 Git は分散型バージョン管理システムです。 Git Flow は Git の機能のブランチの作成や更新をするルールのモデルです。 PlantUML はテキストで UML を記述できる DSL(ドメイン特化言語) です。 UML のシーケンス図は、オブ
Scalar とは 大規模リポジトリを対象とした、リポジトリ容量最適化・コマンド高速化のための拡張機能の提供とgit configの自動設定を行うツールです。元々 Microsoft によって開発されていました (https://github.com/microsoft/scalar) が、Git 2.38よりメインストリームに取り込まれたことで同梱されるようになりました。 github.blog 下記コマンドでScalarを利用することができます。 # 既存リポジトリでScalarを利用する場合 $ cd /path/to/repo $ scalar register # 新規でクローンする場合 $ scalar clone /path/to/repo 実際に、https://github.com/git/git のリポジトリを対象にScalarを利用するとなにが起きるのか今回は調べてみ
Webサービスやアプリ開発の現場では必須のバージョン管理システム「Git(ギット)」。Gitは、専用のソフトを使えばクリックで直感的に操作することもできますが、いざというときにコマンドが使えると便利です。 前回の 第5話 では、特定のコミットを打ち消すコマンド「リバート」を学びました。 ・特定のコミットを打ち消す & git revert [打ち消したいコミットID] 今回の第6話では、特定の時点までファイルを巻き戻す「リセット」を学びます。このリセットには3種類方法があります。git reset --soft、--mixed、--hardです。「これらは何が違うのか?どのように使い分ければいいのか?」初心者の方は困ってしまいますよね。このマンガを通して、わかばちゃんと一緒に理解していきましょう! 【筆者】湊川 あいさん フリーランスのWebデザイナー・漫画家・イラストレーター。マンガと図
ブランチ選択面倒ですよね git branch して、あるいは git branch --remote してブランチ一覧を確認 ブランチ名をコピーして、remoteブランチだったら remotes/origin/ などのプレフィックスを外して git checkout そんなゴニョゴニョは peco に任せましょう。 前提条件 peco コマンドがインストールされていること tr, grep , sed, xargs などのunixでは標準的なコマンドが使える環境であること alias に設定するコマンド [alias] cop = !"git branch --all | tr -d '* ' | grep -v -e '->' | peco | sed -e 's+remotes/[^/]*/++g' | xargs git checkout" コマンドの詳細 git branch -
Dura is a background process that watches your Git repositories and commits your uncommitted changes without impacting HEAD, the current branch, or the Git index (staged files). If you ever get into an "oh snap!" situation where you think you just lost days of work, checkout a dura branch and recover. Without dura, you use Ctrl-Z in your editor to get back to a good state. That's so 2021. Computer
Hi everyone, Yesterday (2021-03-28) two malicious commits were pushed to the php-src repo [1] from the names of Rasmus Lerdorf and myself. We don't yet know how exactly this happened, but everything points towards a compromise of the git.php.net server (rather than a compromise of an individual git account). While investigation is still underway, we have decided that maintaining our own git infras
概要 「この記事を見ればGitで困ったことが(だいたい)全て解決する!」っていう記事です。 逆引き辞典みたいな感じで使っていただけたらと思います。 ローカルのソースファイルをGitHubにプッシュするまでの流れを知りたい(超基本) Gitを使う上でこの一連の流れは絶対に抑えておきたいやつ //Gitでの管理を始める(=ローカルリポジトリ作成) $ git init //ローカルリポジトリの設定を行う(GitHubを登録) $ git config user.name GitHubのユーザーネーム $ git config user.email GitHubのメールアドレス //変更分をステージングにあげる $ git add . //ローカルリポジトリにあげる $ git commit -m "コミットメッセージ" //ローカルリポジトリにmainブランチを新規作成 git branch
似たような記事が100本以上ありそうですが、駆け出しエンジニア(死語?)向けにあらためてまとめました。 状況設定 説明のため、以下のような状況を考えます。 Serverless Frameworkデプロイ時に生成される.serverlessというサブディレクトリ内のファイルに、APIキーの情報が含まれてしまった。 .serverlessサブディレクトリは本来Git管理すべきではないのに、誤ってリモートリポジトリにプッシュしてしまった。 git-flowによるブランチ管理を行っており、複数のfeatureブランチも存在している。 手順1: 該当ディレクトリをGit管理から外す git-flowのため、最新のdevelopブランチからfeatureブランチをきります。 このfeatureブランチで、.serverlessディレクトリを削除します。
This is the first of several posts exploring how git works under the hood. While lots of programmers are familiar with using git, I wanted to do a deep dive into how git is implemented. git employs many clever ideas to optimize common version control operations. I'm a big fan of trying to understand software by playing around with it rather than reading lots of documentation. To that end, I've wri
※この記事は 今年イチ!お勧めしたいテクニック by ゆめみ feat.やめ太郎 Advent Calendar 2019年12月10日(10日目)の記事です。 初めましての方は、はじめまして ご存知の方は、そうだよ。ヒズミさんだよ。 縁とノリと勢いで、10日目を担当します。 僕は、俗物なので、ハマーンミュラーの椅子はきっと無理です(typoじゃないです) epic1:悲劇は突然に 自分が何やったかわかっとんのか・・・( 'ω')👉 わ゙がっ゙どん゙の゙があ゙あ゙あ゙!? ( ‘ᾥ’ )👉👉👉 上キー押せよ・・・( 'ω')👉 う゛え゛キ゛ー゛お゛せ゛よ゛お゛お゛お゛お゛お゛お゛お゛お゛お゛お゛お゛!? ( ‘ᾥ’ )👉👉👉👉 _人人人人人人人人人人人人_ > $ git push -f origin master <  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^
masterやslaveといった用語が奴隷制度を連想させる ということで、自分の開発環境でも極力それらの用語は避けたいと思っています。1人でも不快な気持ちにさせる可能性があるなら使いたくないというか。それらの用語をあえて使い続ける理由もないというか。 ということで、今後、自分の開発環境ではGitのデフォルト・ブランチ名をmasterからmainにしようと思います。 Gitのデフォルト・ブランチ名を設定する Gitのバージョン 2.28 からconfigでgit initで作成するリポジトリのデフォルト・ブランチ名を設定できるようになっています。 たとえば、以下のコマンドでデフォルト・ブランチ名をmainに設定できます。 git config --global init.defaultBranch main これでgit initコマンドでリポジトリを作成する際に作られるブランチ名がmain
Git LFSとは Gitは、音声・動画・高画質な画像などの大きなファイルを扱うことは不得意です。Gitリポジトリにそのような大きなファイルを含めると、git clone・git push・git pullの処理に膨大な時間がかかります。 Git LFS (Large File Storage以下、LFS) は前述した問題を解決すべく、GitHub・Microsoft・Atlassian、および他のコントリビュータによって開発されているGitの拡張機能です。 これにより、大きなファイルをより効率的に扱うことができます。 Gitの使用可能なバージョンは こちら をご確認ください。 大きなファイルを必要な分だけダウンロードする たとえば、LFSで管理したファイルはgit clone・git pullのときではなく、git checkoutのタイミングで必要な分だけダウンロードされます。 大きな
delta インストール 使い方 テーマ delta github.com Rust製のdeltaを使うとgit diffなどのgit関連コマンドやdiffコマンドをシンタックスハイライトして表示できるようになる。また、行内での差分を検知して見やすくしてくれる。 インストール README.mdのインストール方法によるとexecutableのダウンロードなどでインストールできる。 $ delta --help delta 0.1.1 Dan Davison <dandavison7@gmail.com> A syntax-highlighter for git and diff output USAGE: delta [FLAGS] [OPTIONS] FLAGS: --color-only Do not alter the input in any way other than appl
要約 gitbコマンドは、Backlogが提供するGitに関連する操作を補助するツールです。 例えば、現在のリポジトリやブランチに紐付く課題やプルリクエスト等のBacklogが提供する画面を、1コマンドでブラウザから開けます。 全てのgitコマンドをgitbコマンド経由で実行できるので、コマンドを入力する際に両方を意識せずに操作できます。 さらに、エイリアスを設定すると、git pr 、git issue のように、あたかもgitコマンド自身のサブコマンドの如く使用できます。 提供する機能 gitbコマンドで具体的にどのようなことができるのか、提供する機能について一部抜粋して解説します。 リポジトリに紐付く情報を1コマンドでブラウザから開ける 例えば、現在のブランチに紐付くプルリクエストや課題、現在のリポジトリのブランチ一覧、タグ一覧、そしてコミットログ等のBacklogのページを1コマン
こんにちは! 株式会社OGIX クライアントエンジニアのY.Kです! (弊社については最後に紹介があるのでぜひ見てください) みなさんはGit GUIツールを使用していますか? 私はGit触り始めての頃にコマンドラインツールでのGit操作していた所、先輩にGit GUIツールの使用を勧められました。 最初はコマンドラインでの操作と比べて段違いで操作しやすい!!!と感動していました。 ですが最近になってGit GUIツールでのできないこと、ツールならではのデメリットなどに気が付いたのでGit GUIツールについて簡単に紹介しようと思います。 Git GUIとは? GUI(グラフィカルユーザーインターフェース)は、ユーザーが直感的に操作できるグラフィカルなインターフェースのこと。 マウスやタッチパネルなどの入力デバイスを用いて、ウィンドウやアイコン、メニューなどを操作でコンピュータプログラムの
EngineeringOpen SourceHighlights from Git 2.34To celebrate this most recent release, here's GitHub's look at some of the most interesting features and changes introduced since last time. The open source Git project just released Git 2.34 with features and bug fixes from over 109 contributors, 29 of them new. We last caught up with you on the latest in Git back when 2.33 was released. To celebrate
最初に説明抜きで結論を CRuby のリポジトリを git で clone した working copy で以下を実行します。 git remote add ruby-trunk-changes https://github.com/nagachika/ruby.git git config --local remote.ruby-trunk-changes.fetch '+refs/notes/commits:refs/notes/ruby-trunk-changes' git config --local notes.displayRef '*' git fetch ruby-trunk-changes git の使いかたにはいろいろ個人の好みがあったりとか既存の設定との相性があると思うので、よりこまかく設定したい人や背景を知りたい人は以下の説明も読んでみてください。 背景 毎日 C
Which serverless edge platform has the fastest git deployments? Deploying to the edge is becoming more common, with multiple services that offer serverless edge computing. One of the most important factors is speed of deployment, since context switching and waiting for code to build and deploy can halt momentum, flow state, and developer productivity. So, which serverless edge compute platform han
東京工業大学の「システム開発プロジェクト応用第一」の講義動画シリーズです。再生リスト→ https://www.youtube.com/playlist?list=PLbBGNsln3DxR3yFgCPvj40_nV-k5buTvz 今回はバージョン管理システムを紹介します。主に Git の操作やデータモデルを説明します。ローカルにリポジトリを作ったり,リポジトリを複製して push/pull を試したりします。ワークツリー,インデックス,HEAD の関係を理解することで,git reset コマンドの挙動を深く理解します。3-way マージの仕組みとリベースの挙動を詳しく解説します。 00:00 バージョンを管理する、とは何か 12:25 基本的なgitコマンドたち(前置きを飛ばして見たい方はここから) 16:10 git diff 17:45 git log、git log --g
Working on many projects across multiple identities can be difficult to manage. This is a procedure that leverages git aliases to set an identity at the project level for any arbitrary project. This procedure also implements GPG-based commit signing, which establishes the following security features: Authenticity: The name on the commit really is the author of the code. Integrity: Neither the code
【zsh】絶対やるべき!ターミナルでgitのブランチ名を表示&補完【git-prompt / git-completion】ZshGitTerminal この記事でできること ターミナルのプロンプトにgitのブランチ名を常に表示させる(git-prompt) gitコマンドをTab補完できるようにする(git-completion) はじめに もともとbashを使っていた時は次の記事を参考に同様の設定をしていました 「Git補完をしらない」「git statusを1日100回は使う」そんなあなたに朗報【git-completionとgit-prompt】 しかし、macOSがCatalinaにアップデートされてからはzshがターミナルのデフォルトとなり、zshへと移行が進んでいると思います 自分も新しいPCでいいかげんzshを使い始めた&意外と情報がまとまっていなくて手間取ったため、今更感
今まで使っていなかった Git コマンドを学んでいく.今回は git sparse-checkout を試す. git-scm.com git sparse-checkout とは? コマンド名にある sparse は「わずかな」という意味で,Git リポジトリの「一部」を取得できる.git clone --depth を使ってコミットを刈り取るのではなく,指定したディレクトリを取得する.モノリポ(モノレポ)構成のときに効果的に使える.git sparse-checkout は歴史的な変化もあり,今年になって改善されている.記事を検索すると Git 2.25 より前の git sparse-checkout を紹介した記事が多いように感じたため,今回は Git 2.26.2 を使って試した. Git 1.7 2010年2月 リリース git sparse-checkout 導入 Git 2
Windows Terminal は Build 2019 で発表された Windows 向けの新たなターミナルです。マルチタブが導入されており、複数の PowerShell やコマンドプロンプトなどを切り替えながら利用することができます。また、Windows10 v1809 から Unix / Linux 互換の擬似コンソール ConPTY が導入されたため Bash on Ubuntu on WSL などの Linux シェルを表示することも可能です。せっかくなので Git Bash も利用できるように設定してみました。 設定手順(GUI) (2021-05-19追記) Windows Terminal のバージョンアップに伴い、GUIでの設定が可能になりました。 Windows Terminal を起動し、設定画面を開きます。 サイドメニューの[プロファイル]-[新規追加]からプロフ
PHPの公式Gitサーバーがハッキングされた。PHPプロジェクトのコードベースにマルウェアを挿入することを狙ったものとみられる。 PHPプログラミング言語の開発者兼管理者のNikita Popov氏は米国時間3月28日、2つの悪意あるコミットが、自身の名前とPHPの生みの親であるRasmus Lerdorf氏の名前でphp-srcリポジトリーに追加されていたことを明らかにした。 これらの悪意あるコミットは、それぞれPopov氏とLerdorf氏の名前で署名されたように見せかけ、単純な誤字の修正に関するコミットを装っていた。 このように無害に見せかけて検出を免れようとしたものの、この2つの「Fix typo」(タイポを修正)コミットを詳しく調べたコントリビューターらは、文字列がZerodium(エクスプロイトを買い取り販売している企業)に関する内容で始まっている場合に、任意のコードをHTTP
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く