Method: 1. Use the "yum install git" command to install git; 2. Use the "adduser git" command to create a git user; 3. Use the "ssh-keygen-t rsa" command to create a public key; 4. Use the "git init --bare" command to initialize the git repository.
The operating environment of this tutorial: linux7.3 system, Git version 2.30.0, Dell G3 computer.
How to build git on linux
1. Install git
First install git, generally For now, the server already has a built-in git installation package, and we only need to execute a simple installation command to install it. For example:
$ yum install git # centos $ apt-get install git # ubuntu
The above is to log in to the server directly with root to operate, and it is also for the convenience of demonstration.
Git is different from mysql. When installing mysql, you must install mysql-server, which is the mysql server. Git is distributed. Every computer with git installed is both a client and a server. Git and Git can communicate with each other, and our so-called git server is actually not fundamentally different from our own computer. However, in order to manage the project more effectively, we all adopt a centralized management method, so we create a "git server" as the final terminal for everyone else to submit code.
2. Create git user and permissions
Of course we are not allowed to use root directly for communication and interaction, so we create a git user for future code submission User.
$ adduser git
After executing this command, you find that there is an additional git directory in the /home directory. Logically speaking, now there is this git user in your system, and the home directory is in /home/git . However, we do not want this user to connect to the server through ssh, so we must prohibit this user from using ssh to connect to the server for operations. We handle it by editing a permissions file:
$ vi /etc/passwd
Find /bin/bash similar to
git:x:1001:1001:,,,:/home/git:/bin/bash
at the end, which is the permission that allows ssh connection operations, we change it to /user/ bin/git-shell, the result is as follows:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
If handled in this way, git will not be able to connect via ssh (actually it is possible, but it will crash).
We also have to assign a password to git, execute:
$ passwd git 123456(你的密码)
This password will be used when you submit the code later.
3. Public key
This is a special step in git. When communicating, the client and server need a certificate for verification. First generate a public key:
$ cd ~ $ ssh-keygen -t rsa
Now you have a public key on your computer, but where is it? In the .ssh directory, folders starting with . are hidden, but you can cd into them.
$ cd .ssh $ vi id_rsa.pub
Now you can see your public key, copy all the contents. Next, we go back to the server to operate.
$ cd /home/git/ $ mkdir .ssh $ cd .ssh $ vi authorized_keys
If it is a bare metal machine, there should be no .ssh directory in the /home/git directory on the server, so we create it ourselves. After opening (automatically created) authorized_keys, paste the public key we just copied into it, ok OK, save and exit.
4. Initialize a git repository
I am used to throwing this kind of things into /var, so we create a git directory under /var
$ cd /var $ mkdir git $ chown -R git:git git $ chmod 777 git $ cd git
Next, we use the git command to initialize a warehouse:
$ git init --bare arepoforyourproject.git
After the initialization is completed, the empty warehouse will be OK.
Note: The .git directory must have read and write permissions, because when we push, we use the git user to push to the server, and there will be a writing process. If it is not granted writable permission, push will fail.
5. Try cloning
Try cloning to see if the warehouse can be used:
$ git clone git@10.0.0.121:/var/git/arepoforyourproject.git
Then you will be prompted to enter your git password, enter Go in, and you will be prompted again to clone a blank repository. This means that the server is OK.
Related recommendations: "Linux Video Tutorial"
The above is the detailed content of How to build git on linux. For more information, please follow other related articles on the PHP Chinese website!