I\'ve clone a project on GitHub on my Raspberry Pi, create a new branch and push everything to the repository. For this I needed next commands:
git clone htt
You can either use HTTPS URL of the repo or SSH URL of the for pushing, pulling, cloning or fetching operations from your local server after you have added 2FA on your GitHub account. The difference will be:
While using the HTTPS URL: Now for pushing, pulling, fetching or cloning operations, you have to generate a Personal access token form your GitHub account and that will be used as password whenever you are asked for a password. You have to keep the token secure.
Visit: Creating a personal access token for the command line
While using the SSH URL: For Pushing, Pulling, Fetching or Cloning through SSH URL of the repo, you need to have a private key and public pair set up for your account. This will take a little amount of time but once you are done setting your private and public key, you will never be prompted for a username or password because now GitHub knows your identity.
For creating the private key and public key pair, read: Connecting to GitHub with SSH
Difference between using HTTPS URL and SSH URL:
While HTTPS is not blocked by any firewall or by any network, SSH may be blocked sometimes and you may not be able to use it, however, it happens rarely. While using HTTPS, as said you will be asked ofter for username and password(which is your personal access token), you can cache it using credential.helper
but it will save as a plain text.
While for SSH, you can generate a passphrase for your private key, How do I add a password to an OpenSSH private key that was generated without a password?
Now your private key will be secured but whenever you'll Push, Pull, Clone or Fetch, the passphrase will be asked each time. To avoid that you can use an SSH agent, SSH Key - Still asking for password and passphrase