ラベル Git の投稿を表示しています。 すべての投稿を表示
ラベル Git の投稿を表示しています。 すべての投稿を表示

2013年11月1日金曜日

Git 補完・ブランチ名表示 メモ(2013.11)

git-completionの設定メモ

以前設定したときのメモはこちら
ネタ帳 A.B.C: Git 補完・ブランチ名表示 メモ
http://neta-abc.blogspot.jp/2013/02/git.html

環境

Mac OS X Maverics
Xcode 5.0.1
Git version 1.8.3.4 (Apple Git-47)
(GitはXcode付属のものを使う)

git-completion.bash/git-prompt.shのコピー

下記の2ファイルをホームディレクトリにリネームしてコピーする。
cp /Applications/Xcode.app/Contents/Developer/usr/share/git-core ~/.git-completion.bash
cp /Applications/Xcode.app/Contents/Developer/usr/share/git-core ~/.git-prompt.sh

.bash_profileの設定
if [ -f ~/.git-completion.bash ]; then
    source ~/.git-completion.bash
fi

if [ -f ~/.git-prompt.sh ]; then
    source ~/.git-prompt.sh
fi

PS1='\[\033[32m\]\u@\h\[\033[00m\]:\[\033[34m\]\w\[\033[31m\]$(__git_ps1)\[\033[00m\]\$ '

動作確認

下記のコマンドで.bash_profileを再読み込みする。
. .bash_profile

Gitで管理されたディレクトリに移動するとブランチ名が表示され、Gitのコマンド補完が効くようになる。

2013年9月6日金曜日

Android StudioでGit(core.autocrlf)


Android Studioで作ったプロジェクトをコミットするときに出た、警告ダイアログの対処メモ。

環境

・Mac OS X 10.8.4
・Android Studio (I/O Preview) 0.2.6

原因

Android Studioのデフォルト設定では下記の
[Warn if CRLF line separators are about to be committed]
にチェックが入っている。
CRLFラインセパレータがコミットされようとしている場合に警告を表示するという設定。
core.autocrlfが未設定だったり、falseに設定されていると上記の警告ダイアログが表示される。

CRLFラインセパレータなファイルとはgradlew.bat。
gradlew.batをエディタで開いてステータスバーを確認すると確かにCRLFとある。
Windows環境で使うファイルですからね。

core.autocrlfとは

コミット時の改行コードの扱いを決めるもののようです。

こちらのサイトを参考にさせていただきました。
WindowsやMacなど様々なOSからGitを使うときの改行コードの扱い » tech-tec
http://tech-tec.com/archives/107

対処

冒頭のダイアログにもありますが
git config --global core.autocrlf input
の設定を行うと解決します。

コマンドラインから上記コマンドを実行して、コミットを行ってもよいですし
冒頭のダイアログで[Fix and Commit]ボタンをクリックすると自動でcore.autocrlfをinputに設定した後、コミットを行ってくれます。

core.autocrlfの設定確認

<User Home>/.gitconfigをテキストエディタで開く
or
ターミナルからgit config -l コマンドで確認できる。

2013年9月4日水曜日

Android StudioでGit(Changesツールウィンドウを使ってみた)

こちらのBlog記事に

Java Day Tokyo 2013の裏方で takezoe さんをIntelliJ派に洗脳してた - marsのメモ
http://d.hatena.ne.jp/masanobuimai/20130518/1368867743

バージョン管理に関するモロモロの操作は,ProjectツールウィンドウよりChangesツールウィンドウのほうが便利に使えるようにできてます
とありましたので、Android StudioのChangesツールウィンドウをつかってみたメモ。

環境

・Mac OS X 10.8.4
・Android Studio (I/O Preview) 0.2.6
 Keymap Mac OS X 10.5+

git init

[control] + [V]で[VCS Operations Popup...]を開く。
[4]の[Enable Version Control Integration...]を選択。

Gitを選択して[OK]ボタン。

.gitignore

Changesツールウィンドウを開く。
Unversioned Filesにバージョン管理されていないファイルが入っている。

プロジェクトに.gitignoreを追加。
※ .gitignoreの内容はこちらを参照
 Android Studioと.gitignore(2013/09/03版)
 http://neta-abc.blogspot.jp/2013/09/android-studiogitignore20130903.html

Unversioned Filesから、.gitignoreで除外したファイルが消える。

git add

↑のスクリーンショットのUnversioned FilesをDefaultにドラッグ&ドロップ。
↓はドラッグ&ドロップ後のスクリーンショット。

git commit

Defaultを選択した状態で、[Commit Changes]ボタン。
(ファイルを選択した状態で、[Commit Changes]ボタンをクリックするとファイルを個別にコミットできる)

コミットメッセージを入力して[Commit]ボタン。

コミットが完了するとDefaultは空に戻る。

以降はコードに変更を加えると、変更したファイルがDefaultに入るので
コミット->コード変更を繰り返す流れ。

2013年9月3日火曜日

Android StudioでGit(コミットとかブランチとか)

Android StudioでGitを使ってみたメモ。

環境

・Mac OS X 10.8.4
・Android Studio (I/O Preview) 0.2.6

コミット

コードに変更を加えるとエディタの左側の部分の色が変わるようだ。
(この例ではメソッドhoge()の追加が変更点)

変更があるファイルは文字色が水色に変わる模様。

コンテキストメニューから[Git] - [Commit Directory...]を選択。

適当にコミットメッセージを入力して[Commit]ボタンをクリック。

コンテキストメニューの[Git] - [Show History]を確認したところ
ちゃんとコミット出来ているようだ。


ブランチ

コンテキストメニューから[Git] - [Repository] - [Branches...]を選択。

[New Branch]を選択。

適当にブランチ名を入力して[OK]ボタンをクリック。

ブランチが作成され、Current Branchが「develop」に切り替わる。
Current Branchはステータスバーの右側に表示されている。

ブランチの切り替えは
コンテキストメニューから[Git] - [Repository] - [Branches...]を選択。
移動したいブランチを選んで[Checkout]を選択。

Twitterで@masanobuimaiさんに教えていただいたので追記。
ステータスバーの[Git: <ブランチ名>]のところをクリックすると、ブランチ作成・切り替えのメニューが開きます。

ブランチの作成・切り替えはステータスバーからの方が便利ですね。

Android Studioと.gitignore(2013/09/03版)

2013/09/02版に「.gradle/」を追加。

iosched(2013)の.gitignoreを見たところ
# gradle cacheとして除外されていたので。
(.gradle/配下のファイルの役割はよく分かっていない...)

僕の.gitignore(2013/09/03版)
*.apk
*.ap_

# files for the dex VM
*.dex

# Java class files
*.class

# generated files
bin/
gen/

# Local configuration file (sdk path, etc)
local.properties

# Eclipse project files
.classpath
.project

# Proguard folder generated by Eclipse
# proguard/

# Intellij project files
*.iml
*.ipr
*.iws
.idea/

# Android Studio files
*/build/
gradle.properties

# gradle cache
.gradle/

# Mac OS .DS_Store file
.DS_Store

2013年9月2日月曜日

Android StudioでGit(git init 〜 Initial commitまで)

Android StudioでGitを使ってみたメモ。
(最終的にうまくいきませんでした...)

<2013.09.04追記>
オペレーションがイケテナカッタので
こちらに書き直しました。
Android StudioでGit(Changesツールウィンドウを使ってみた)
http://neta-abc.blogspot.jp/2013/09/android-studiogitchanges.html

環境

・Mac OS X 10.8.4
・Android Studio (I/O Preview) 0.2.6

git init

メニューの[VCS] - [Enable Version Control Integration...]をクリック。

プルダウンメニューからGitを選んで[OK]ボタンをクリック。

するとこんな感じになる。
Gitの管理対象だけど、まだgit addされていないファイルが赤文字になっているようだ。

Version Control Consoleを見るとgit initが行われた模様。
fatal: bad revision 'HEAD'とあるが、よく分からない...

.gitignore

ルートプロジェクトのルートディレクトリに.gitignoreファイルを配置する。
.gitignoreファイルの設定内容はこちらの記事を参照。
Android Studioと.gitignore
http://neta-abc.blogspot.jp/2013/09/android-studiogitignore.html
↑の.gitignoreに.gradle/を追加

するとこんな感じに。
.gitignoreで除外したファイルの文字色が白に変わった。

git add

ルートプロジェクトのルートディレクトリを選択した状態で右クリック。
[Git] - [Add to VCS]をクリック。

そうすると、Git管理対象ファイルの文字色が緑に変わる。

git commit

ルートプロジェクトのルートディレクトリを選択した状態で右クリック。
[Git] - [Commit Directory...]をクリック。

コミットメッセージを入力して[Commit]ボタンをクリック。

gradle-wrapper.propertiesファイルでWarningが出ますが、よくわからないのでそのまま[Commit]ボタンをクリック。。

Git管理対象ファイルの文字色が緑から白に変わる。

ターミナルから確認したところコミットはできました。

git statusで確認したところ
.gradle/がUntrackedだよと言われている...

Version Control Consoleで確認すると確かにgit addの時に.gradle/がaddされていない。
んー。。
.gradle/下のファイルをGitの管理対象にすべきか調べて出直して来ます...

iosched(2013)の.gitignoreの設定を確認したところ
.gradle/は除外対象になっていました。

Android Studioと.gitignore

Android Studioで作成したプロジェクトをGitで管理するときの.gitignoreの設定について試行錯誤中のメモ。

.gitignoreファイルとは

Gitの管理対象から除外したいファイル・ディレクトリを指定する設定ファイルです。

.gitignoreファイルのベース

.gitignoreのベースはこちらを使わせてもらいました。

github/gitignore · GitHub
https://github.com/github/gitignore

ココのAndroid.gitignoreがAndroidアプリプロジェクト用の.ignoreファイルです。

今のところ、Eclipse / Android Studio用を分けるつもりはないので、1ファイルでEclipse / Android StudioのAndroidアプリプロジェクトに対応できるようにします。

僕の.gitignore(2013/09/02版)

# built application files
*.apk
*.ap_

# files for the dex VM
*.dex

# Java class files
*.class

# generated files
bin/
gen/

# Local configuration file (sdk path, etc)
local.properties

# Eclipse project files
.classpath
.project

# Proguard folder generated by Eclipse
# proguard/

# Intellij project files
*.iml
*.ipr
*.iws
.idea/

# Android Studio files
*/build/
gradle.properties

# Mac OS .DS_Store file
.DS_Store
ベースからの変更点は、
・*/build/下は除外対象
・gradle.propertiesは除外対象
(リリース用証明書のパスワードをココに記載しているので)

Android Studio絡みではないですが
・proguard/は除外対象から外す
(Eclipseでは管理対象にしてました。Android Studioだと*/build/proguard/の下にProGuard関連のファイルが生成されますので、今の設定ですと除外されます。ちょっと考えます。。)
・Mac OSのDS_STOREファイルは除外対象
という変更も入ってます。

つっこみお待ちしております。。

2013年2月2日土曜日

Git 補完・ブランチ名表示 メモ

2013/11/01追記
新しい環境で書き直しました。
ネタ帳 A.B.C: Git 補完・ブランチ名表示 メモ(2013.11)
http://neta-abc.blogspot.jp/2013/11/git-201311.html

環境

Mac OS X Lion
git version 1.7.7.5 (Apple Git-26)
※今回はXcode(Command Line Tools for Xcode?)付属のGitを使う
Xcode 4.5.2

Git 1.8.0からはファイル構成が変わっているので下記参照
Wokashi
gitでプロンプトにブランチを表示したり、コマンドを補完したり
http://mironal-memo.blogspot.jp/2012/08/git-completion.bash.html

git-completion.bashのコピー

cp /Applications/Xcode.app/Contents/Developer/usr/share/git-core/git-completion.bash ~/.git-completion.sh

.bashrcの設定

.bashrcに下記を追加
source ~/.git-completion.sh
GIT_PS1_SHOWDIRTYSTATE=true
GIT_PS1_SHOWSTASHSTATE=true
GIT_PS1_SHOWUNTRACKEDFILES=true
GIT_PS1_SHOWUPSTREAM=auto
export PS1='\[\033[32m\]\u@\h\[\033[00m\]:\[\033[34m\]\w\[\033[31m\]$(__git_ps1)\[\033[00m\]\$ '
各行の意味
1行目:補完の有効化
2-5行目:リポジトリ状態の通知設定(詳細は動作確認の項を参照)
6行目:bashプロンプトの表示形式・色の設定

.bashrcが存在しない場合は新規作成
Macのデフォルトでは.bashrcを読み込む設定になっていないようなので
下記サイトを参考に.bash_profileの設定を行う
こちらも存在しない場合は新規作成

ふってもハレても
macに.bashrcを作成したときのメモ
http://d.hatena.ne.jp/sho-yamasaki/20120505/1336222634

動作確認

下記のコマンドで.bashrcの設定を読み込む or ターミナルを再起動
source ~/.bashrc
ローカルリポジトリに移動するとブランチ名が表示される
補完は[tab]キー
補完候補が複数ある場合は[tab]キーを2回で補完候補一覧が表示される

GIT_PS1_SHOWDIRTYSTATE=true
addされていない変更がある場合は*を表示
commitされていない変更がある場合は+を表示

GIT_PS1_SHOWSTASHSTATE=true
stashがある場合は$を表示
GIT_PS1_SHOWUNTRACKEDFILES=true
addされていない新規ファイルがある場合は%を表示

GIT_PS1_SHOWUPSTREAM=auto
upstreamと同期している場合は=を表示
upstreamより進んでいる場合は>を表示
upstreamより遅れている場合は<を表示
補足

git-completion.bashの場所が分からない場合は下記からダウンロードできる
バージョンの切り替えは[branch] -> [Tags]から

参考にしたサイト

アインシュタインの電話番号
MacのターミナルでGitのブランチ名を表示する

2013年1月30日水曜日

Android .gitignore メモ

お手本

GitHubで色々なプロジェクト用の.gitignoreファイルが公開されている
https://github.com/github/gitignore
Androidプロジェクト用はAndroid.gitignore
使用するときは、ファイル名からAndroidを削除して.gitignoreとする

設定内容

下記がGitHubに公開されているAndroid.gitignoreの設定内容
# built application files
*.apk
*.ap_

# files for the dex VM
*.dex

# Java class files
*.class

# generated files
bin/
gen/

# Local configuration file (sdk path, etc)
local.properties

# Eclipse project files
.classpath
.project

# Proguard folder generated by Eclipse
proguard/

# Intellij project files
*.iml
*.ipr
*.iws
.idea/
# built application files
# files for the dex VM
# Java class files
については
# generated files
で除外されるディレクトリ配下に作成されるファイルなので
Eclipseでビルドする上においては、削除しても結果は同じだった

# Local configuration file (sdk path, etc)
Antでビルドするときに使用する設定ファイルの除外設定

# Proguard folder generated by Eclipse
ProGuardを有効化してリリースビルドした際に作成されるファイルの除外設定

# Eclipse project files
# Intellij project files
IDEのプロジェクト関連ファイルの除外設定は
EclipseとIntelliJ IDEAに対応している

確認

Gitで管理される対象ファイルは、下記のコマンドで確認できる
> git ls-files

2012年7月15日日曜日

Mac OS X Lion Git導入メモ

はじめに

この手順はXcodeをインストールする前提です。
Xcodeが不要な方は、本家のDownloadページからdmgファイルを落としてインストールするのが王道なんでしょうか?
ちょっと、この辺り確認していないのですみません...

手順

1. App StoreからXcodeをインストールする ※要Apple ID
2. Xcodeを起動
3. [command] + [ , ]でPreferences...を開く
4. Downloadsタブにある「Command Line Tools」をインストールする
以上です。

PATHの設定は不要で、上記の手順のみでターミナルからGitのコマンドが使えるようになります。