LinuxでGitサービスを構築し、クライアントはWindowsで

2324 ワード

環境
サーバCentOS Linux release 7.4.1708(Core)+git(version 1.8.3.1)クライアントWindows 7+git(Git-2.9.3.2-64-bit.exe)
①Gitの取り付け
LinuxはGitサーバ側システムとして、Windowsはクライアントシステムとして、それぞれGitをインストールする
サーバ側:
#yum install -y git

インストールが完了したらGitバージョンを表示
[root@localhost ~]# git --version
git version 1.8.3.1

クライアント:
Git for Windowsをダウンロードして、アドレス:https://git-for-windows.github.io/
インストールが完了したら、Git Bashをコマンドラインクライアントとして使用できます.
インストールが完了したらGitバージョンを表示
$ git --version
git version 2.9.3.windows.2

②Gitサービスを管理し、gitユーザーにパスワードを設定するためのgitユーザーをサーバ側で作成する
[root@localhost home]# id git
id: git:    
[root@localhost home]# useradd git
[root@localhost home]# passwd git 

③サーバ側Git倉庫の作成
/home/data/git/gittestを設定します.gitはGit倉庫
Git倉庫のownerをgitに変更
[root@localhost home]# mkdir -p data/git/gittest.git
[root@localhost home]# git init --bare data/git/gittest.git
Initialized empty Git repository in /home/data/git/gittest.git/ [root@localhost home]# cd data/git/ [root@localhost git]# chown -R git:git gittest.git/

④クライアントcloneリモートウェアハウス
Git Bashコマンドラインクライアントにアクセスし、プロジェクトアドレス(d:/www/githomeに設定)を作成し、
Administrator@PC MINGW64 /d/www/githome
$ cd /d/www/githome
Administrator@PC MINGW64 /d/www/githome

次にLinux Gitサーバからcloneプロジェクトを行います.
$ git clone [email protected]:/home/data/gittest.git

SSHがデフォルトの22ポートでない場合は、次のコマンドを使用します(SSHポート番号が7700であるとします).
$ git clone ssh://[email protected]:7700/home/data/gittest.git

新規ユーザーの追加
[root@localhost home]# id git01
id: git01:    
[root@localhost home]# useradd git01
[root@localhost home]# passwd git01

git 01ユーザのshellログインを無効にするセキュリティ上の考慮から、第2のステップで作成したgit 01ユーザはshellへのログインを許可しません.これは/etc/passwdファイルの編集によって完了します.次のような行を見つけます.
git01:x:1001:1001:,,,:/home/git01:/bin/bash  

1最後のコロンを次のように変更します.
git01:x:1001:1001:,,,:/home/git01:/usr/bin/git-shell  

これによりgit 01ユーザはsshでgitを正常に使用できますが、git 01ユーザに指定したgit-shellはログインするたびに自動的に終了するため、shellにログインできません.
問題1
問題の説明:fatal:destination path'githome'already exists and is not an empty directory.解決策:空のディレクトリを変更し、再