Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up
Is there a way to limit git diff to changed files? I'd like to see the differences between two commits, but exclude paths that don't exist in one or the other (additions/deletions). The following Perl one-liner illustrates most of what I want: git diff master.. | perl -lnwe 'print unless /^(new|deleted) file/../^diff/ and not /^diff/' But that leaves diff --git a/path b/path lines for the files th
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
2年程前に書いたSubversion+DropBoxの焼き直しです。今風にGitで書きなおして見ました。後は、同期だけでは心許無いので、バックアップ戦略について考えてみました。 まず解決したい問題は、下記の3つです。2年前から変わっていませんね。 ソースのバックアップをどこか違うところに持ちたい ネットワークがオフラインの時でも、コミット出来るようにしたい 違う環境から作業しても、最新のソースを取れるようにしたい まず1のソースのバックアップについてです。厳密にはバックアップではなく、同期で実現しています。開発機単体ではなくDropBoxにコピーされるので物理的障害等に対する対策は充分です。一方でDropBoxの特性として、DropBox上に置いているリポジトリを消してしまうと、消された状態で同期されてしまいます。DropBox上のリポジトリと、ローカルのワーキング・リポジトリに分ければ問
githubを使っていて、プルリクエストのMergeボタンが灰色になってて、 あ、コンフリクトが起きそう! と思った時にどう対応するのが一番よいのか考える。 前提条件 github flowを使っている hogehogeブランチ→masterに対してpull requestを送っている。 自分がhogehogeブランチで作業していて、最新の状態がローカルにある。 案 僕がいいと思った順に書いていきます。 案1.灰色になっていたのを確認した瞬間にgit rebase masterして解消する 前提 自分一人しかそのbranchで作業していない ある程度rebaseがどういうものなのかわかっている。 作業内容 git fetch origin git checkout master git pull origin master git checkout hogehoge git rebase
GitHubというものがある Git使ってる人なら知ってるだろうけど、GitHubというサービスがある。これはWikipediaによると GitHub(ギットハブ)はソフトウェア開発プロジェクトのための共有ウェブサービスであり、Gitバージョン管理システムを使用する。 Ruby on RailsおよびErlangで記述されており、GitHub社によって保守されている。 主な開発者はChris Wanstrath、PJ Hyett、Tom Preston-Wernerである。 GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供している。 2009年のユーザー調査によると、GitHubは最もポピュラーなGitホスティングサイトとなった[3]。 というサービス。まぁいわば無料でリポジトリを作れるサービスですね。 無料なんですが、無料で利用する分にはリポジトリがすべて
Gitで追跡しているファイルを削除する場合、通常git rmを使用します。しかし統合開発環境やターミナル、エクスプローラなどで直接ファイルを削除することが多々あるでしょう。その際に [kyo@localhost ~]# git add . を行なっても削除されたファイルは # Changes not staged for commit: # (use "git add/rm <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes in working directory) # # deleted: example.xml # となりstageされません。既に存在しないファイルに対して [kyo@localhost ~]# git rm exam
この記事は私の考えるタグの使い方なので、もし間違っている事や反論のある方は ぜひコメントやブログを書いてください。読みます! タグを打つ意味 そもそも、なぜgitでタグを打つのか? これは下記のような理由だと思う。 sha1でコミュニケーションするのは一般的に難しい*1 コミットとは別にデプロイなどのイベントをリポジトリ内で扱うため そもそも、gitのタグとは gitのタグはタグオブジェクトという形でgitのリポジトリ内に保存されます。*2 タグオブジェクトには下記の情報が含まれます。 タグを作成した日時 タグ作成者 タグを作成した理由 タグを付けたコミットのsha1 日付つきのタグとは タグの名前に日付情報がつけられたものです。 $ git tag -m "bump tag" 1.0.0-`date "+%Y%m%d_%H%M%S"` $ git tag -l 1.0.0-2014060
I have a Git repository and I'd like to see how some files looked a few months ago. I found the revision at that date; it's 27cf8e84bb88e24ae4b4b3df2b77aab91a3735d8. I need to see what one file looks like, and also save it as a ("new") file. I managed to see the file using gitk, but it doesn't have an option to save it. I tried with command-line tools, the closest I got was: git-show 27cf8e84bb88e
git config --global alias.st status git config --global alias.df diff git config --global alias.dft "difftool --dir-diff" git config --global alias.co checkout git config --global alias.cm commit git config --global alias.br branch 外部Diff/Mergeツール設定 Winmergeをインストール バックップフォルダを設定 c:\bakcup c:\temp Windows7、8環境では、.gitconfigはユーザディレクトリ直下に存在。 [merge] tool = winmerge [mergetool "winmerge"] path = \"C:\\P
git+clone+ssh+agent+forward+sudo ��G hU 0FG hU SSH agent forwarding is great. It allows you to ssh from one server to another all the while using the ssh-agent running on your local workstation. The benefit is you don't need to generate ssh key pairs on the servers you are connecting to in order to hop around. When you ssh to a remote machine the remote machine talks to your local ssh-agent throug
git stash コマンドを個人的によく使っていますが、オプションなどを忘れてしまいがちなので、備忘録として残しておきます。 スタッシュする
※この記事は、2014年06月06日に書きました。 ■まえがき 以前の状態に戻そうとした時に、 新規に追加したファイルがgit Untracked filesってずらーっと並んだりする事があるかもしれない。 stash、reset時に、前回のコミット時には無かったファイルがあると、未追跡ファイルとしてこのような表示になる。 もし、それらのファイルが余りにも多く、 もしも消し去ってもいいのなら、次のコマンドで吹き飛ばすのも手かと思います。 備考 もし、今の状態を一時保存して、また戻ってくるのであれば一旦コミットを行い、 戻ってきた時には、git reset --soft HEAD^して続きをするのもありだと思います。 細かい事を気にしないならgit add .、git commit --amendで追加をコミットに足していくとかでもいいかもしれません。 ■メモ git clean git c
リモートをフェッチした際にブランチがこうなる時がありました。 [bash] $ git status # On branch master # Your branch and 'origin/master' have diverged, # and have 1 and 2 different commit(s) each, respectively. # nothing to commit (working directory clean) [/bash] 後ほど調べてみると、分岐点となる origin/master からリモートとローカルでそれぞれ異なるコミットがある場合に、こういった状態になる様です。 この例ではローカルブランチが1コミット、リモートブランチは2コミット存在するという意味です。 とりあえず解決策としては、origin の変更をローカルにマージするだけです。 [bash
Whether starting from scratch or rebuilding a rich ecosystem, get pipelines flowing with preconfigured environments for your language and a minimal syntax with up to 50% less YAML or JSON. language: python python: - "3.7" - "3.8" - "3.9" # Command to install dependencies install: - pip install -r requirements.txt - pip install pytest pytest-cov # Command to run tests script: - pytest --cov=./ test
弊社イベントの企画に参加させていただいたのだけど、 プロジェクト管理にはALMiniumを使っているよというはなし。 ALMiniumとは ALMiniumとは、ALM(アプリケーションライフサイクルマネージメント)+Redmineの造語です(金属のアルミニウムとは綴りが一字違います)。 要件(バックログ)管理から、開発、システムの運用、アプリケーションの保守まで、システム/アプリケーションのライフサイクルを管理するために利用できるツール・チケットシステムです。 http://alminium.github.io/alminium/ つまりは強化されたRedmineのこと!! インストール方法 ↓のコマンドを実行すればOK! # yum install git もしくは # apt-get install git でGitをインストールしたあとに、 # git clone https://
https://github.com/gographics/imagick から fork した自分の以下のレポジトリに同期したい。 https://github.com/yoya/imagick $ git clone git@github.com:yoya/imagick.git $ cd imagick $ git remote add gographics git@github.com:gographics/imagick.git $ git fetch gographics $ git merge gographics/master 参考) http://qiita.com/icb54615/items/3544c419a3f6fc3534fb not something we can merge 以前、このエラーメッセージが出て諦めたけど、単にブランチ名を間違えてただけ。 ht
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く