setoya-blog

システム開発技術、データ分析関連でお勉強したことや、山奥生活を綴る、テンション低めなブログです。

git

rebaseを使って、featureブランチの複数のコミットを1つにまとめる

git

1つ前のコミットにaddするのを忘れたものがある場合などに使う。 また、featureブランチで自分だけが作業しているような場合に使う。 masterブランチや複数人の開発での作業元ブランチなどでrebaseをするのは危険なのでNG(このあたりの情報はググればいろい…

gitで最新のコミットの更新ファイル一覧を取得する

git

エントリータイトルの通り git diff HEAD^ --name-only

gitのconfig情報を見る、編集する

git

端末を引き継ぎしたときにgitのconfigで、user.nameとuser.emailが変わっていなくてハマったのでメモ。以下のコマンドで今のconfig情報を見られる。 $ git config -l user.name=msetoyama user.email=hogehoge@gmail.com …その他のconfig情報は省略 configの…

gitでタグをつける

git

バージョン用にタグつけるのどうしようかなー、と思ってたら、ちゃんとタグ機能があった。参考:Git - タグタグを追加する。 $ git tag -a v1.4 -m 'my version 1.4' 既存のタグ一覧を確認する。 $ git tag v0.1 v1.3 1.4.2.*系だけ表示したい場合 $ git tag…

間違って別のブランチで実装を始めちゃった時にgit stashで別ブランチに編集中のソースを移動する

git

Git - Stashingの手抜き翻訳かつ、勝手に構成や説明の流れを変えたものです。 間違ってmasterブランチなどで実装を始めたのに途中で気づいて、開発用のdevelopmentブランチにその書きかけのソースをコミットすることなく持って行きたいときは、git stashを使…

cocoapodsのspecリポジトリを修復する

2014年1月30日に、github上のcococapodsのspecリポジトリが壊れるという事件が起きたらしい。この状態でいつもの流れで、pod installをすると、ローカルのspecリポジトリとの不整合が起きて以下のようなエラーが出た。 Pull is not possible because you hav…

gitのリモートリポジトリを削除

git

git remote addなどで登録したリモートリポジトリを削除するときは、以下。 $ git remote rm repo_name 消えたかどうだか見てみるには以下。 $ git remote -v

gitのローカルブランチがpullやpushでどのリモートブランチに接続しているか調べる

git

以下のようにする。この例だとブランチがmasterしかないからわかりにくいかもしれないけど、ブランチが増えると各ブランチがどこにつながっているかがわかる。 $ git remote show origin * remote origin Fetch URL: hoge@hoge/hoge.git Push URL: hoge@hoge…

gitに登録しているファイルを管理からはずす(ファイルは消さない)

git

.gitignoreに追加すべきものを間違えてaddしてしまったとき、主に開発環境用の個人向け設定ファイル(.idea/*)とかをgit管理からはずしたいときは、git rmを使う。 $ git rm .idea/* 意外と今日初めて使った。

マージしていないブランチを消す

git

Dオプションを使えばマージしていないブランチも削除できる。 $ git branch -D hoge_branch

プロキシ環境でのgemのupdate方法とgitでのプロキシの設定

git

$ sudo gem install hogehoge -p http://プロキシのURL:ポート番号 ちなみに、gitのプロキシ設定は以下。末尾に/がいるのに注意。 git config --global http.proxy http://hostname:portnum/ git config --global https.proxy http://hostname:portnum/

homebrewのアップデート時に起こるエラーへの対応

StackOverFlowに対応が載っていたのでメモ。git - brew update: The following untracked working tree files would be overwritten by merge: - Stack Overflow

gitignoreでワイルドカードで無視したファイルのうち、特定のファイルだけ無視しない方法

git

タイトル読むとわけわからんけど、コードを見るとそのまんま。.gitignoreファイルに以下のように書く #csvファイルは全て無視 *.csv #ただし、以下のディレクトリのものは無視しない !hogehoge/*.csv

gitでコミットした情報だけを消す

git

一度gitでトラッキングした後、ファイルをファイルシステム上で削除して、コミットした情報だけがgitに残ってしまった時など、以下でコミットした情報だけを消す。 > git rm --cached hogehoge.txt ちなみに、以下はファイルシステム上にファイルが残ってい…

gitでsubmoduleを追加する

git

自分が開発しているリポジトリとは別のリポジトリなどで開発されているライブラリなどを、自分のプロジェクトに取り込みたい時、しかも、量が膨大だったりするので別リポジトリのライブラリのソースコードを自分のリポジトリにはコミットしたくない時、gitの…

gitのローカル、リモートブランチを削除する

git

開発を長く続けていると、リモートブランチとローカルブランチが増えてきて、見づらくなる。 そこで、ブランチを消すやり方を調べたのでメモっとく まずは、ローカル・リモートブランチ一覧の確認 > git branch -a master sub_branch remotes/origin/master …

リモートのgitブランチをローカルにチェックアウトする

git

まずは、リモートにどんなブランチがあるかを確かめる。-aオプションでリモートブランチも一覧できる。 > git branch -a * master remotes/origin/master remotes/origin/other_branch チェックアウトしたいブランチが表示されていない時は、git fetchとかす…

gitで直前のコミットを取り消す

git

git reset --soft HEAD^ --softをつけると、取り消しした分のファイルなどが編集中の状態でワークディレクトリに残る。 HEAD^は、どの状態に戻すか、を指定している。 直前のコミットを取り消すので、HEADの一つ前なので「 HEAD^ 」になる。

gitで作業途中の内容をcommitせずに一時保存する方法

git

masterブランチで作業をしていたら、以外と時間がかかってしまい、自分のソースをコミットせずに他人のソースを作業中のソースに反映したいときがある(って、これ言っていることがわかりにくい。)。こういうときに、git stashを使えばいいと知ったのでメモ…

gitのローカルブランチを別名のリモートブランチにpushする方法

git

簡単。 > git push repo_name local_branch:other_remote_branch 普段以下の様に入力しているが、 > git push repo_name master これは、以下の省略。 ローカルブランチのmasterをリモートブランチのmasterにpushする、という意味。 > git push repo_name ma…

gitのローカルbranchを作成し、リモートにpushする

git

よく忘れるのでメモしとく。 ローカルブランチの作成 まず、ローカルブランチ作成。ここではcourse_changeというbranchを作成している。 > git branch course_change 作ったbranchの確認。この時点ではまだbranchが切り替わっていない。 > git branch course…