便利に使うためにいくばくかの設定が必要
1.globalなgitignoreの設定
gitを使うための標準的な手順としては、git init, git add. git commitそしてソースの変更でまたgit add, git commit適宜git pushというような流れかと思います。git add .とした時に除外するファイルやフォルダを指定するための設定が.ignoreファイルですが、特定のディレクトリ以下での設定をいちいち書くのは面倒なので、globalなものをまず設定しておきましょう。私が使っている環境で例えばBash for git(windowsですよ)で、
$ git config --global core.excludesfile
とすると、
C:/Users/jakeb/.gitignore_global
となり、このファイルの内容は
#ignore thumbnails created by windows
Thumbs.db
#Ignore files build by Visual Studio
*.obj
*.exe
*.pdb
*.user
*.aps
*.pch
*.vspscc
*_i.c
*_p.c
*.ncb
*.suo
*.tlb
*.tlh
*.bak
*.cache
*.ilk
*.log
*.dll
*.lib
*.sbr
#cbb
*.tds
Win32/
Win64/
__astcache/
__history/
__recovery/
*.res
Project1.cbproj.local
となっていて、基本的にVisual Studio用のignoreファイルにcbb(C++ Builder)要素を加えた物です。
2.実際の運用例 簡単化するために、C++ Builder CEのIDEでなく素のBash for Gitからbccでプログラムを作るサイクルでの例を示します。IDEからGitを使うやり方はまた別記事で。
このディレクトリで使って見ます。hello.cの内容は、
#include <stdio.h>
void main(void)
{
printf("hello, world\n");
}
で、K&Rの最初のプログラム。ここのディレクトリの何もないところで、右クリック
出てきたプルダウンメニューから”Open Gif Bash here”を選択する。以下、
jakeb@Orbit-11 MINGW64 ~/test-git
$ bcc32 hello.c
Embarcadero C++ 7.70 for Win32 Copyright (c) 1993-2017 Embarcadero Technologies, Inc.
hello.c:
Turbo Incremental Link 6.99 Copyright (c) 1997-2024 Embarcadero Technologies, Inc.
jakeb@Orbit-11 MINGW64 ~/test-git
$ ./hello
hello, world
jakeb@Orbit-11 MINGW64 ~/test-git
$ git init
Initialized empty Git repository in C:/Users/jakeb/test-git/.git/
jakeb@Orbit-11 MINGW64 ~/test-git (main)
$ git add .
warning: in the working copy of 'hello.c', LF will be replaced by CRLF the next time Git touches it
jakeb@Orbit-11 MINGW64 ~/test-git (main)
$ git commit -m "first commit"
[main (root-commit) 6a275d5] first commit
1 file changed, 6 insertions(+)
create mode 100644 hello.c
jakeb@Orbit-11 MINGW64 ~/test-git (main)
$ git status
On branch main
nothing to commit, working tree clean
ここでlocalなgiteaサーバー(別記事で)上にリモートレポジトリ(最初は空)を作る。
コマンドラインから既存のリポジトリをプッシュ
git remote add origin http://192.168.0.230:3000/nao/foobar.git
git push -u origin main
というアドバイスが出るので、その通りに実行してみる。git pushの時に、以下のダイアログが出ます。
Username and/or Passwordを正しく入れると通ります。
$ git remote add origin http://192.168.0.230:3000/nao/foobar.git
jakeb@Orbit-11 MINGW64 ~/test-git (main)
$ git push -u origin main
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Delta compression using up to 12 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 287 bytes | 287.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
remote: . Processing 1 references
remote: Processed 1 references in total
To http://192.168.0.230:3000/nao/foobar.git
* [new branch] main -> main
branch 'main' set up to track 'origin/main'.
hello.cに少しだけ手を加えて
$ bcc32 hello.c
Embarcadero C++ 7.70 for Win32 Copyright (c) 1993-2017 Embarcadero Technologies, Inc.
hello.c:
Turbo Incremental Link 6.99 Copyright (c) 1997-2024 Embarcadero Technologies, Inc.
jakeb@Orbit-11 MINGW64 ~/test-git (main)
$ git add .
warning: in the working copy of 'hello.c', LF will be replaced by CRLF the next time Git touches it
jakeb@Orbit-11 MINGW64 ~/test-git (main)
$ git commit -m "touched"
[main 028868b] touched
1 file changed, 1 insertion(+), 1 deletion(-)
jakeb@Orbit-11 MINGW64 ~/test-git (main)
$ git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 12 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 312 bytes | 312.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
remote: . Processing 1 references
remote: Processed 1 references in total
To http://192.168.0.230:3000/nao/foobar.git
6a275d5..028868b main -> main
2回目以降のpushはgit pushだけでオーケー。
コメント