Download from git overwriting local repository

from here

Command to start local repository configuration :

  1. move into your project folder
  2. git init
  3. git add .
  4. git commit -m “added readme”
  5. git remote add origin https://github.com/USER/PROJECTNAME.git  or replace git remote set-url origin https://github.com/USER/PROJECTNAME.git
  6. git push -u origin master or change master in to mail git push origin HEAD:main in general git push origin HEAD:<remoteBranch> 
  7. Edit .git/config file under your repo directoryFind url= entry under section [remote “origin”]

    Change it from url=https://github.com/rootux/my-repo.git to https://USERNAME@github.com/rootux/my-repo.git

    where USERNAME is your github user name

Important: If you have any local changes, they will be lost. With or without --hard option, any local commits that haven’t been pushed will be lost.[*]

If you have any files that are not tracked by Git (e.g. uploaded user content), these files will not be affected.


I think this is the right way:

git fetch --all

Then, you have two options:

git reset --hard origin/master

OR If you are on some other branch:

git reset --hard origin/<branch_name>

Explanation:

git fetch downloads the latest from remote without trying to merge or rebase anything.

Then the git reset resets the master branch to what you just fetched. The --hard option changes all the files in your working tree to match the files in origin/master


Maintain current local commits

[*]: It’s worth noting that it is possible to maintain current local commits by creating a branch from master before resetting:

git checkout master
git branch new-branch-to-save-current-commits
git fetch --all
git reset --hard origin/master

After this, all of the old commits will be kept in new-branch-to-save-current-commits.

Uncommitted changes

Uncommitted changes, however (even staged), will be lost. Make sure to stash and commit anything you need. For that you can run the following:

git stash

And then to reapply these uncommitted changes:

git stash pop

Git – Pull from repository to local forcing

From here

Important: If you have any local changes, they will be lost. With or without --hard option, any local commits that haven’t been pushed will be lost.[*]

If you have any files that are not tracked by Git (e.g. uploaded user content), these files will not be affected.


I think this is the right way:

git fetch --all

Then, you have two options:

git reset --hard origin/master

OR If you are on some other branch:

git reset --hard origin/<branch_name>

Example :

For me the following worked:

(1) First fetch all changes:

$ git fetch --all

(2) Then reset the master:

$ git reset --hard origin/master

(3) Pull/update:

$ git pull

Explanation:

git fetch downloads the latest from remote without trying to merge or rebase anything.

Then the git reset resets the master branch to what you just fetched. The --hard option changes all the files in your working tree to match the files in origin/master


Maintain current local commits

[*]: It’s worth noting that it is possible to maintain current local commits by creating a branch from master before resetting:

git checkout master
git branch new-branch-to-save-current-commits
git fetch --all
git reset --hard origin/master

After this, all of the old commits will be kept in new-branch-to-save-current-commits.

Uncommitted changes

Uncommitted changes, however (even staged), will be lost. Make sure to stash and commit anything you need. For that you can run the following:

git stash

And then to reapply these uncommitted changes:

git stash pop

Init Gitlab after installation before first commit

Document link

It is important to configure your Git username and email address, since every Git commit will use this information to identify you as the author.

On your shell, type the following command to add your username:

git config –global user.name “YOUR_USERNAME”

Then verify that you have the correct username:

git config –global user.name

To set your email address, type the following command:

git config –global user.email “your_email_address@example.com”

To verify that you entered your email correctly, type:

git config –global user.email

You’ll need to do this only once, since you are using the –global option. It tells Git to always use this information for anything you do on that system. If you want to override this with a different username or email address for specific projects, you can run the command without the –global option when you’re in that project.

Check your information
To view the information that you entered, along with other global options, type:

git config –global –list

With the command below you can prompt username and password when you commit

git config –local credential.helper “”

GitLab set up ssh key

From local command console type:

cat ~/.ssh/id_rsa.pub

If you see a string starting with ssh-rsa you already have an SSH key pair otherwise you have to generate it.

EX: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQC8PAgJVXMQysVOuI0znKGXaUNqdk4reejNPKlG+/RZ+B47YWmiL/qIFx6ILjLQa8iRMmAj9n3hRGBQoIQnU0ZzickuQ/AJi4cEr2+4Hm6I3QTqodWGOijRBXjhGoToIGAAu1ymM+zNSMMtBvMhaOl8QUFY4dAb6YyZs/gvnWKczw== mac@macs-MacBook-Pro.local

in the user profile add a ssh public key

Don’t paste the private part of the SSH key. Paste the public part, which is usually contained in the file ‘~/.ssh/id_rsa.pub’ and begins with ‘ssh-rsa’