In this git tutorial, You will learn how to make a clone of remote repository on local system. This will copy all the application files available on remote sever to local system where you can start working.
1. Generate SSH Key Pair
To connect git server, you may need to configure key based login. So that it will not prompt for each time you connect to server.
ssh-keygenGenerating public/private rsa key pair. Enter file in which to save the key (/home/rahul/.ssh/id_rsa): Created directory '/home/rahul/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/rahul/.ssh/id_rsa. Your public key has been saved in /home/rahul/.ssh/id_rsa.pub. The key fingerprint is: 99:e7:cd:fe:8e:c6:a0:eb:a0:c7:9f:5d:a3:91:b2:00 [email protected] The key's randomart image is: +--[ RSA 2048]----+ | | | | | | | o | | E S . | | . o.+ | | .o ..+o= | | .oo.= =oo | | .. o*.o.ooo | +-----------------+
2. Copy Public Key to Remote Server
Now copy newly generaed public key (~/.ssh/id_rsa.pub) on git server under git account. Use the following command to do it.
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys [email protected]'s password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh [email protected]'" and check to make sure that only the key(s) you wanted were added.
3. Clone Remote Repository on Local
Now use the following command to make a clone of remote git repository on local system.
git clone [email protected]:project/app1.gitCloning into 'app1'... warning: You appear to have cloned an empty repository. Checking connectivity... done.
To verify remote url in local copy of code use following command. In results you will see two urls one for fetch and one for push operations.
git remote -vorigin [email protected]:project/app1.git (fetch) origin [email protected]:project/app1.git (push)