I tried to switch from a HTTPS to SSH repo using git. Below are the first commands I used.
Then, when I tried to add a branch to the staging area, I got the following messages:
I am not able to push anything or add any commits to git from my command line either. I get an error saying "could not read remote repository". Could someone please help me? What should I do now? I am new to git and I don't want to dig myself in a deeper hole!
Check for a .git/ subfolder in:
your current working directory (where you switch to SSH)
your parent folders
If you see one in any parent folder, that would make your current working directory a nested Git repository.
Ideally, there should not be any parent Git repository above your own: see if you can remove those parent .git folders (or move them elsewhere).
Related
What am I doing wrong?
Why will my code not show on github even though it appears to have pushed saying clean tree.
What am I supposed to be entering when it asks for git credentials osxkeychain?
Hello I have been watching video after video and reading the documentation on github and how to use it but nothing seems to be working. I have created a repo in my account and done the following:
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/stephBrandon/PythonNumberGuessingGame.git
git push -u origin main
it responded by saying initialized empty git repo in my folder which is true when hitting ls -a there is a .git file and there is a readme now as well
But when checking on my github none of the code it there and in the terminal it seems to be trying to access my old git hub account instead of my new one and I have no idea what to do now.
remote: Permission to stephBrandon/PythonNumberGuessingGame.git denied to stephanieBrandon.
fatal: unable to access 'https://github.com/stephBrandon/PythonNumberGuessingGame.git/': The requested URL returned error: 403```
I had issues with the keycode and went into my key chain to see if I could change it there or if I was entering the wrong password but the one I had I deleted and it wont allow me to add another like some other videos I have watched.
Please help. I just want to know how to start using GitHub as I am in year 2 of my program and want to have a visible portfolio of my work without the frustrations of not figuring out how to use GitHub and it always seeming to take longer to upload to GitHub then the projects themselves sometimes.
If I am missing something in my explanation above here is a copy of the terminal
```(base) stephaniebrandon#Stephanies-MacBook-Pro-2 Lab4Random % git commit -m "First commit for Python Guessing Game"
[main e955053] First commit for Python Guessing Game
1 file changed, 44 insertions(+)
create mode 100644 lab4.py
(base) stephaniebrandon#Stephanies-MacBook-Pro-2 Lab4Random % git remote add origin https://github.com/stephBrandon/PythonNumberGuessingGame.git
error: remote origin already exists.
(base) stephaniebrandon#Stephanies-MacBook-Pro-2 Lab4Random % git remote add origin https://github.com/stephBrandon/PythonNumberGuessingGame.git
git branch -M main
git push -u origin main
error: remote origin already exists.
remote: Permission to stephBrandon/PythonNumberGuessingGame.git denied to stephanieBrandon.
fatal: unable to access 'https://github.com/stephBrandon/PythonNumberGuessingGame.git/': The requested URL returned error: 403
(base) stephaniebrandon#Stephanies-MacBook-Pro-2 Lab4Random % ls -a
. .. .git README.md lab4.py```
Additionally, when I try to do
```git push -u origin main```
it doesn't do anything but enter a loop that I have to control c to get out of.
If you are okay with using SSH instead of HTML, this should be the easiest way. This is assuming you have not local .git folder (you can delete it if you don't have git history you'd like to save).
Part 1: Set up SSH with GitHub
First, open your terminal and run this command:
ssh-keygen -b 4096 -t rsa
When it asks you for a file name and save location, just hit ENTER to use defaults. Unless you feel it is necessary you can skip the password requirement the same way.
This will create a new (hidden!) folder named .ssh and two files in it: id_rsa and id_rsa.pub. id_rsa.pub is your public key. This is how you will authenticate with GitHub. Never share your private key (the other file).
Now, go to GitHub and sign in normally. Then, go to your profile settings (pictured below).
Then to this setting...
And hit this green button:
Give it any title you'd like, such as the name of your computer, and paste in the contents of your id_rsa.pub file into the box and hit "Add SSH key". You should be able to open either of the two rsa_id files with any text program.
Part 2: Setting up a Repo
In my experience, the easiest way to get Git configured correctly is to do this method rather than setting the upstream yourself.
First, make a new repository on GitHub. It doesn't matter if it's private or public, but add at least one file (such as a readme or .gitignore) to generate the first commit.
Now, you should be directed to your new repo. If you get a weird screen telling you to run some commands you likely didn't add any files when setting up the repo.
Assuming that you see the page, however, click the "code" button on the top right and select SSH. Copy it to the clipboard. (pictured below)
Part 3: Setting up your local repo
Open your terminal of choice and run
git clone git#github.com:[your details here].git
It should clone the repo and set the upstream for you. If you get an error here you likely have issues with your SSH settings.
Once you have the repo cloned, drag in any project you'd like and treat it like normal!
git status
git add *
git commit -m "Your message"
git push
Hope that works for you! Let me know if you have any problems.
After my first attempt at committing a couple of large folders (angular and django), git responded with:
Another git process seems to be running in this repository, e.g.
an editor opened by 'git commit'. Please make sure all processes
are terminated then try again. If it still fails, a git process
may have crashed in this repository earlier:
remove the file manually to continue.
Previous posts recommend:
removing the index.lock in the .git folder.
I've done this, but the second that i resubmit "git add . " as part of my git push origin master routine, the index.lock file reappears in .git
Is there another solution? And what has happened to warrant this?
I've tried all the suggestions in the commented link
I'm working with this:
git version 2.13.5 (Apple Git-94)
In my case, index.lock wouldn't delete. Instead, I found that one of my django folders lacked a .gitignore, so I created one and included the following files:
include
lib
include
bin
.vscode
You might want to include more or less, depending.. Apparently, I was attempting to push a file that disagreed with git.
I am about to throw my laptop through a wall, and am hoping for help before reaching that point. For reference, I am following these instructions exactly - https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/.
I have a directory ".../path/thisdir". Inside of thisdir are (1) a file called Demo.R and (2) a directory called sportVU. sportVU is a directory with ~15 files in it.
When I follow the instructions in that link, my github repo looks like this:
https://github.com/NicholasCanova/packageSportVU
Notice that the sportVU directory link cannot be clicked in github, and when I download the repo, sportVU is an empty folder. Why is this happening? This shouldn't be so tough.
EDIT: this is what the repo looks like in my local machine, I'm 100% sure it's not empty:
It could be that you have two .git folder in your directory. View hidden folders to see.
Similar questions:
What does a grey icon in remote GitHub mean
Why can I not open my folder in GitHub?
Since Git doesn't store empty folders the steps you should follow exactly are:
Delete the old repo and start again following exactly my steps.
git clone <repo url>
Inside the folder of the cloned repo create a directory manually and name it as you want i.e sportVU.
Drag and Drop all the files you want in the sportVU direcrory.
cd to Myrepo/sportVU and type git add *
type git commit -m "added some files"
git push -u origin master.
and you should be all set
I am following this tutorial on establishing the ssh communication.
Everything goes fine until I get to:
Step 7. Change your repo from HTTPS to the SSH protocol
I have no idea what the first step means. I have no .hg folder and if I create one using hg init, there is no hgrc file in it.
I came to a new location and I want to clone repositories from Bitbucket using ssh to start working.
Also I have no idea what is meant by myquotefork. It does not appear in the previous text.
If you simply just want to clone an existing repository from Bitbucket using SSH instead of HTTPS, that is quite simple. From the command line on your local computer (where you want the repository cloned to), write the following command:
hg clone ssh://hg#bitbucket.org/claims/nodatime
You will now have the repository cloned to the nodatime folder. And inside the nodatime folder, you should also have a .hg folder containing a hgrc file with the content described in point 3 in your question.
I haven't read the tutorial you're following, but point 1 expects that you've already cloned an existing repository. The .hg folder is created when you initialize/clone a repository. The hgrc file inside this folder is however only created when you clone an existing repo (and not when you just initialize one), which is probably why you didn't see it.
You may classify my question to the layman's level, but I am using Git for the first time (til now I used TortoiseSVN) and I am not sure how I can check out an existing project from a server, so as to have it available on my local machine in a folder. I have installed Git Bash. Should I run it (Gui), select New Archiv and then specify the path of the project in the server? Is there a better Git framework to install, which is appropriate to make the same task more easily?
I would appreciate also some screenshots if needed in the answers.
Update: I have installed also TortoiseGit. I want to create a new clone by a right click in a directory, but the new Clone is not available after the right click. Does it need additional configuration? If no, what should I do from TortoiseGit to checkout an existing project?
I'd usually recommend learning git from command line. But if you are already familiar with TortoiseSVN then TortoiseGIT is a good tool for you.
Also, I think you should learn git very well. I can recommend the book Pro Git.
To "check out" a git repository is called clone in the git world (you will get a whole copy of the server repository). This can be done either from command line or TortoiseGIT.
git bash:
$ cd /path/to/my/projects
$ git clone url-to-server-repo
Update:
Since you get the "normal" TortoiseGit menu (without clone option), it seems you already have a local git repository. You probably created an empty git repository by mistake. Look for a hidden directory .git in the project directory or any parent directory.
right click on the folder (not right click on nothing in the folder, the icon of the folder you want to clone INTO from the parent directory) and select clone from the menu.
FYI:
clone = create a copy of a repository.
checkout = change the current state of an existing repo to a saved state.
so if you have a repo w/ 3 commits (A,B,C) when you clone the repo you will be at the most current state (C). if you want to see the previous state of the repo you would git checkout B. if you want to see the repo's initial state you would git checkout A
hope that helps.