gitをcentOSにインストールしバージョンまで見れるようになったことは前回の記事で説明しました。
そして、今度はサーバーにレポジトリを作成します。
まずはgitユーザーを作ります。
1 2 3 |
useradd git |
次にgit用のディレクトリも作ります。
1 2 |
$ cd /home/git $ mkdir test.git |
レポジトリの初期化を行います。
1 |
$ git init --bare --shared |
共有リポジトリにアクセスできるグループ権限をユーザに追加する
1 |
$ gpasswd -a test git |
gitグループがテストユーザーに追加されているか確認
1 2 |
$ groups test test : test wheel git |
以下参考サイト
http://qiita.com/i_am_207/items/920837686ebecbbbc9db
上記にて、レポジトリを作成し、アクセスするユーザーまで設定したので
これからクライアント側でアクセス
使用したのはSourceTreeとGit for Windows
試して出てきたエラーは
「fatal: protocol error: bad line length character: xxxx」
どうやら、ログインはできているが、ログイン後の制御がうまくうごかないようですね。
因みに以下でアクセス
1 |
ssh://ユーザー名@ホスト名/home/git/test.com.git |
いろいろ調べたところ一般的に以下が多いらしい
「ログイン後のメッセージが悪さしている」ですので
1 |
vi ~/.bashrc |
で不要な行をコメントアウトし
1 |
source ~/.bashrc |
で適用
しかしうまく行かず。
私の場合、なんと、ユーザーの権限が低すぎて、SSHが使用できないユーザーで試していたためでした。。
早速使用できるようにして再度チャレンジしたら以下のエラーがでました。
git-upload-pack: Command not found.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
1 |
which git-upload-pack |
とやると
/usr/local/git/bin/git-upload-pack
となるのでディレクトリは存在する
パスが通っていないのか
そこで
1 |
git config remote.origin.uploadpack /usr/local/git/bin/git-upload-pack |
とすると
error: could not lock config file .git/config: No such file or directory
とまたエラーになってしまった。
.git/configに
remote.origin.uploadpackのパスを設定する場合
試しにユーザーディレクトリに「.git」フォルダを手動で作成し再度試したところ
エラーは出なくなりました。
[remote “origin”]
uploadpack = /usr/local/git/bin/git-upload-pack
上記のような内容がconfigに記載されていました。
SSHでログインしたときにSSHが/usr/local/git/bin/git-upload-packの
パスを見れるような設定にする。
試したのが以下
1 |
ln -s /usr/local/git/bin/git-upload-pack /usr/local/bin/git-upload-pack |
これでエラーがでなくなり、
ローカルでクローン作成時
warning: You appear to have cloned an empty repository.
これは空のレポジトリ作成されたときにでるメッセージ。
ようやく、レポジトリを作成することができました。
早速、ローカルにクローン作成し、コミットしようと試みましたが
今度は
git-receive-pack: command not found
といったエラーこれも同じく
1 |
ln -s /usr/local/git/bin/git-receive-pack /usr/local/bin/git-receive-pack |
とすることで解決。
これで、コミット&プッシュできるようになりました。
メルマガ登録をお願いします。
素敵な?情報がいつもあなたに届くようになります。(itmnewsの記事が届きます。)お役に立つかどうかわかりませんが頑張りますっ。登録してみてください。