序文
オープンソースコードのいくつかのパブリックリポジトリをGitHubで公開できますが、プライベートリポジトリの場合は課金する必要があります。会社は通常、独自のGitサーバーを構築しますが、私も独自のサーバー上に構築することで練習しています。
始める前に、サーバー情報について説明しましょう。これが、AlibabaCloudのCentOS6.564ビットオペレーティングシステムです。
**サーバーにGit **がインストールされているかどうかを確認します
[ root@iZ25r8k6ifuZ git]# rpm -qa git
git-1.7.1-3.el6_4.1.x86_64
ここにもインストールされています。インストールされていない場合は、yum installgitを使用してインストールできます。
2つはgitユーザーを作成します
ここでは、テストする新しいユーザーを作成するか、ルートを直接使用して次の操作を実行するかを選択できます。著者はまた、情報を段階的に見てきました。ここでは、操作する新しいユーザーteslachenを作成します。
[ root@iZ25r8k6ifuZ ~]# useradd tesla
[ root@iZ25r8k6ifuZ ~]# passwd tesla
ユーザーTeslaのパスワードを変更します。
新しいパスワード:
無効なパスワード:十分な数の異なる文字が含まれていません
無効なパスワード:単純すぎます
新しいパスワードを再入力します。
passwd:すべての認証トークンが正常に更新されました。
注1:ユーザーを作成するための権限が不十分な場合は、sudoを追加してください。
注2:ユーザーパスワードが単純すぎる場合、プロンプトが表示されますが、それでも正常に設定できます。
3つはssh公開鍵を生成します
多くのGitサーバーは、認証にSSH公開鍵を使用します。 SSH公開キーをGitサーバーに提供するために、システムユーザーがまだキーを持っていない場合は、そのコピーを事前に生成する必要があります。
Linuxは、このマシンでssh-keygen -t rsaを実行してキーを生成し、.pubファイルをサーバーにコピーできます。
[ root@iZ25r8k6ifuZ ~]# su tesla
[ tesla@iZ25r8k6ifuZ root]$ cd ~[tesla@iZ25r8k6ifuZ ~]$ mkdir .ssh
[ tesla@iZ25r8k6ifuZ ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key(/home/tesla/.ssh/id_rsa):
Enter passphrase(empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in/home/tesla/.ssh/id_rsa.
Your public key has been saved in/home/tesla/.ssh/id_rsa.pub.
The key fingerprint is:13:bf:75:ba:67:7f:0e:a0:47:7a:fe:25:bc:81:85:c3 tesla@iZ25r8k6ifuZ
The key's randomart image is:+--[ RSA 2048]----+|||||.|| o ..|| S . E o ||. O ||+==.||+.o.|| o+oo+|+-----------------+[tesla@iZ25r8k6ifuZ ~]$ cd .ssh/[tesla@iZ25r8k6ifuZ .ssh]$ cat id_rsa.pub >>~/.ssh/authorized_keys
exit
4つはsudoersファイルにteslaを追加します
teslaユーザーは現在、一部のフォルダーに対する操作権限を持っていないため、/ etc / sudoersファイルを変更して権限を変更できます。最上位の管理者ユーザーは、次のコマンドで開きます。
[ root@iZ25r8k6ifuZ ~]# visudo
次に、vimで次の行を見つけます
root ALL=(ALL) ALL
iキーを押して挿入を開始し、Enterキーを押して次の行に追加します
tesla ALL=(ALL) ALL
次に、escキーを押して、次のように入力します。wq、Enterキーを押して保存し、終了します
5つはGitコードウェアハウスを作成します
[ root@iZ25r8k6ifuZ ~]# mkdir /teslaRepo
[ root@iZ25r8k6ifuZ ~]# cd /teslaRepo/[root@iZ25r8k6ifuZ teslaRepo]# sudo mkdir teslaProject.git
[ root@iZ25r8k6ifuZ teslaRepo]# chown tesla:tesla /teslaRepo/[root@iZ25r8k6ifuZ teslaRepo]# chown -R tesla:git /teslaRepo/[root@iZ25r8k6ifuZ teslaRepo]# cd teslaProject.git/[root@iZ25r8k6ifuZ teslaProject.git]# sudo git --bare init
Initialized empty Git repository in/teslaRepo/teslaProject.git/
teslaProjectと呼ばれるそのようなGitリポジトリが作成されます
6つのローカルテストの使用
サーバー上で直接ローカルテストを実行することも、コンピューターを直接使用してテストすることもできます。以下では、自分のMBPを使用してテストします。
localhost:~ okay$ cd Desktop/git/
localhost:git okay$ mkdir teslaRepo
localhost:git okay$ cd teslaRepo/
localhost:teslaRepo okay$ git init
Initialized empty Git repository in/Users/okay/Desktop/git/teslaRepo/.git/
localhost:teslaRepo okay$ git remote add origin [email protected]:/teslaRepo/teslaProject.git
上記のコマンドは、ローカルにフォルダーを作成し、サーバーにリモートウェアハウスを追加します
localhost:teslaRepo okay$ touch a.txt
localhost:teslaRepo okay$ git add a.txt
localhost:teslaRepo okay$ git commit -m "init commit"[master(root-commit) d14cd3b] init commit
1 file changed,0insertions(+),0deletions(-)
create mode 100644 a.txt
上記のコマンドはa.txtをローカルで作成し、ローカルで1回送信しました
localhost:teslaRepo okay$ git push origin master
[email protected]'s password:
Counting objects:3, done.
Writing objects:100%(3/3),202 bytes |0 bytes/s, done.
Total 3(delta 0), reused 0(delta 0)
To [email protected]:/teslaRepo/teslaProject.git
*[ newbranch] master -> master
上記のコマンドはローカルコードをリモートサーバーにプッシュします。ローカルでクローンを作成して、正しいかどうかを確認しましょう。
7つのローカルクローン
localhost:git okay$ mkdir ttt
localhost:git okay$ cd ttt
localhost:ttt okay$ git clone [email protected]:/teslaRepo/teslaProject.git
Cloning into 'teslaProject'...
[email protected]'s password:
remote: Counting objects:3, done.
remote: Total 3(delta 0), reused 0(delta 0)
Receiving objects:100%(3/3), done.
Checking connectivity... done.
クローンが完成しました。フォルダディレクトリを見てみましょう。
以前にサーバーにプッシュされたa.txtファイルがクローン化されました
cut -d:-f1 /etc/group
cut -d:-f1 /etc/passwd
git clone git@your_gitServer_ip:/home/gitrepo/sample.git
//マスターブランチでデモンストレーション
git checkout master
git remote rm origin
git remote add origin git@your_gitServer_ip:/home/gitrepo/sample.git
git push -u origin master
以上が本稿の内容ですので、皆様のご勉強に役立てていただければ幸いです。
Recommended Posts