サーバーにgitの中央リポジトリを作成する

滅多に行わない作業のため、使うときには忘れてしまうのでメモに残しておきます。
 
 
作業内容(作業例)
サーバーにgit中央リポジトリを作成する
中央リポジトリは「/home/git/」ディレクトリ内に作成する
中央リポジトリ名は「test.git」とする
 
 
git中央リポジトリを作成するサーバーにログインして、中央リポジトリを作成するディレクトリに移動する。
サーバー上に中央リポジトリ用のディレクトリを作成する。

 
gitでは中央リポジトリを保存するディレクトリ名には通例で「.git」をつける模様なのでそれに従うようにする。
 
 
作成したディレクトリに移動して、git中央リポジトリを作成する。
中央リポジトリ作成後、ディレクトリ内にgit関連のファイルが追加されているか確認する。

 
 
ディレクトリ内にgit関連のファイルが追加されていれば設定完了です。
 
 

タブをスペースに変換する

vimを使用して編集しているときに、普段はタブを使用してインデントしていますが、入力されているタブをスペースに変換したいときがあります。
 
 
入力されているタブをスペースに変換するときは、以下の様なコマンドを順に実行します。

 
“:set expandtab”を設定しないと、”:retab”コマンドを実行してもタブがスペースに変換されません(noexpandtabの設定がされているとき)
タブをスペースに変換後、インデントにタブを使用する場合は、”:set noexpandtab”コマンドを実行してから続きの作業を行います。
このコマンドを実行しないと、タブがスペースになります。
 
 
shiftwidthで設定された数のスペースをタブに変換する場合

 
vim起動時からタブキーを押したときに、スペースが入力されるようにするには、[.vimrc]に以下を入力しておきます。

 
[set tabstop=4]
タブの幅(スペース4個分)
[set expandtab]
TABキーを押したときにスペースを挿入する
 

Visual Studio 2017 で、エディタにvimを使用する方法

3月に「Visual Studio 2017」が公開されました。
Visual Studio で、外部ツールとしてvimを使用することができるので設定します。
 
環境
Visual Studio Community 2017
vim80-kaoriya
 
外部ツールの設定方法
Visual Studio のメニューバーから「ツール」->「外部ツール」を選択する。
「追加」をクリックしてメニューを追加する。
追加したメニューを選択してタイトルを編集する。
タイトルはわかりやすい名前をつけると後でわかりやすいです。
コマンドには、外部ツールとして使用したい外部ツールのパスを入力します。
今回はgvimを使用したいので、「gvim.exe」のパスを指定しました。
引数には、「$(ItemPath) +$(CurLine)」を指定しました。
“+”の前に半角スペースを入れないと正しく動作しません。
初期ディレクトリには、「$(ItemDir)」を指定しました。
 
 
設定例
タイトル gvim
コマンド C:\vim80\gvim.exe
引数 $(ItemPath) +$(CurLine)
初期ディレクトリ $(ItemDir)
 
 
外部ツールの引数(一部抜粋)
 
引数 説明
$(ItemPath) 現在のファイルの完全なフィある名(ドライブ+パス+ファイル名)
$(ItemDir) 現在のファイルのディレクトリ(ドライブ+パス)
$(ItemFilename) 現在のファイルのファイル名(ファイル名)
$(CurLine) コードウインドウ内の現在カーソル行位置
$(BinDir) 作成中のバイナリの最終的な場所
 
その他の引数についてはMicrosoftのリファレンスを参照してください。
 
 
外部ツールの起動方法
ソースファイルを編集中に、Visual Studio のメニューバーから「ツール」->「gvim」を選択する。
 
ショートカットキーを割り当てすると、起動が早くできるようになります。
 
ショートカットキー割り当て方法
Visual Studio のメニューバーから「ツール」->「外部ツール」を選択する。
メニューの内容の中で、設定した「gvim」を何番目に設定してあるか確認して、外部ツールを閉じる。
今回は、4番目に設定されていました。
Visual Studio のメニューバーから「ツール」->「オプション」を選択する。
オプションボックスの中から、「環境」->「キーボード」を選択する。
「以下の文字列を含むコマンドを表示」の入力欄に「外部コマンド」と入力すると、外部コマンドが表示されるので、先ほど設定した順番のものを選択する。
外部コマンドのショートカットキーは、最大で24個まで設定できます。
(今回「gvim」は、4番目に設定したので、「ツール,外部コマンド4」を選択します。)
「使用する場所」を、「テキストエディター」に設定します。
「ショートカットキー」のテキストボックスを選択して、割り当てするキーを押して、「割り当て」をクリックします。
「OK」をクリックして決定します。
 
 
外部ツールでvimを割り当てることで、普段使用している環境で作業できるため作業効率が上がります。
常にVSだけで開発しているなら、わざわざ外部ツールの設定などしなくても良いと言われてしまうかもしれませんが・・・
 
 

構文ハイライトの設定方法

vimで構文ハイライトを使用してテキストの一部をハイライトすることで、内容が見やすくなります。
 

構文ハイライトの設定を有効にする
.vimrcに、下記設定を追記して、vimを再起動する。

 
 
カラースキームの設定をします。
デフォルトでインストールされているカラースキームがあるのでその中から選択します。

現在選択が可能なカラースキームは、vimでコマンドとして[:colorscheme ]を入力してから、[ctrl+d]を押すと一覧が表示されます。
※:colorscheme の最後に半角スペースを入れないとうまくいきません。

 
 
現在使用しているカラースキームを確認する時は、vimで以下のコマンドを実行します。

 
デフォルトのカラースキームにお気に入りの物がない場合は、好きなカラースキームをインストールして使用することができます。
 
 
また、KaoriYa版vimを使用している場合は、[編集->色テーマ選択]の中から選択すると変更できる
 
 
カラースキームのハイライトは、以下のコマンドで確認できます。

 
 

Git で過去のコミットのコメントを修正する方法

Git を使用してバージョン管理を行っていますが、過去に行ったコミットを見ているとコメント内容が間違っていることが時々あります。
本来ならば間違いの無いように入力してコミットするべきですが・・・
 
今まではそのまま放置していましたが、後で見直して勘違いしてしまうコメントがあるので修正することにしました。
 
 
 
まずは修正したいコミットを確認する。

コマンドを実行すると、「commit 34e38b3・・・・・」と表示されるので、変更したいコメントの “commit” の後に表示されている番号を確認する。
 
 
 
git rebase の [ -i ] オプションを使用して、先ほど確認した修正したいコミット番号を [ -i ] オプションの後に入力する。

入力したコミット番号よりも新しいコミットの一覧が表示される。
表示された一覧から、変更したいコミットの [ pick ] を [ edit ] に変更して保存する。
 
 
 
git commit の [ –amend ] オプションを指定してコミットコメントを修正する。
コメントの修正方法は、以下の様にして変更する。

直接コメントを入力する場合

テキストエディタを起動して入力する場合

このコマンドを実行すると、テキストエディタが起動するので、コメントを修正して保存する。
 
 
 
git rebase の [ –continue ] オプションを使用して最新のコミットに戻す。

 
 
 
既にコミット内容をリモートリポジトリにプッシュしている場合は以下の様にプッシュする。( master ブランチの場合)

 
 
 
この作業を行うことで、コミットのコメントを修正できます。
 
 

gccでコンパイルしたときの文字化け対策(2)

gccで表示する文字の文字化け対策です。
gccでコンパイルする人以外は参考にならないと思います。
 
 
文字コードsjisのソースファイルに含まれる、「ソ」・「表」などが文字化けしてしまう症状が出ました。
“表示ソフト”と表示するソースファイルを、gccでコンパイルすると「warning: unknown escape sequence:」と警告が出ますが、コンパイルは成功しています。
生成した実行ファイルを実行すると、文字化けしてしまい読み取ることができません。
 
文字化けする原因としてはgcc特有のもので、ソースコードに含まれる一部の2バイト文字に対応していないとのことです。
今回の場合ですと、sjisの「ソ」は16進数で「83 5c」で表されるので、「5c」の部分をエスケープシーケンスの「\」として解釈されてしまうたため、未知のエスケープシーケンスが含まれますと警告が出るようです。
同じように、「表」「貼」「能」「予」「禄」等もsjisの文字コードに「5c」が含まれるので文字化けします。
 
 
文字コードsjisを使用する場合、2バイト目にエスケープシーケンスと同じ値が含まれる場合は、入力した文字の後ろに「\」を入れることで正常に表示することができます。
 

“表示ソフト”と表示したい場合は、”表\示ソ\フト”と入力する。
 
「\」を入れることで、コンパイル時に警告が出なくなり、文字化けせずに表示できるようになります。
 
 
この問題は、gccでコンパイルする上では避けようがないもののようです。
 
 

gccでコンパイルしたときの文字化け対策

C言語で記述したソースファイルをgccでコンパイルした実行ファイルを実行すると日本語が文字化けしてしまい表示が読めなくなってしまう。
 
文字化けが発生する原因としては、使用しているターミナル(terminal)の文字コードとソースファイルの文字コードが一致していない場合発生することが多いそうです。
 
文字化けしない対策として、ソースファイルの文字コードを「sjis」にしたところgccでコンパイルした実行ファイルで文字化けが直りました。
 
 
今まで文字コードをあまり気にしませんでしたが、gccを使用する上では気をつけないとならないみたいです。
VC++はテキストエディタが統合されているので気にしなくても問題がなかったのかも・・・
 
 

.batファイルを実行するとnullのファイルが作成されてしまう

バッチファイルにnullコマンドを記載して実行すると、実行したフォルダ内にnullファイルが作成されてしまいました。
原因を調べてみると、Windowsのバッチファイルには「null」ではなく「nul」と入力しないとならないみたいです。
 
こんな単純なことですが、結構な時間はまってしまいました・・・
 
 

現在開いているファイルの文字コードを確認する

vimで作成するファイルは基本的にutf-8で自動保存されるが、他のソフトで編集したファイルや頂いたデータなどに追記するときなどに現在の文字コードを確認したい時がある。
vimで現在開いているファイルの文字コードは以下のコマンドで確認できます。
 

 
 
確認して何かしたいわけではないですが、ファイルを送った先で読めないなど言われたときに確認できると助かります。