Pushing folder's contents into a folder inside a repository? [duplicate] - github

I cloned a repository to my desktop machine using git clone sshurl. As expected, this created a folder in my desktop.
Now, instead of a single file, I want to push a whole folder into git. For example, the folder that I cloned is named project_iphone. Now I add another folder called my_project into project_iphone. The my_project folder contains lots of files and folders as well.
My question is, how should I push my_project folder to the server?
Step-by-step instructions would be helpful.
Thank You.

You need to git add my_project to stage your new folder. Then git add my_project/* to stage its contents. Then commit what you've staged using git commit and finally push your changes back to the source using git push origin master (I'm assuming you wish to push to the master branch).

In order to push any folder from git bash, you have to make a single file it could be anything text or etc.
If you try to push an empty folder your git bash will not give you an error but when you refresh your GitHub you will not see that folder, so in order to push any folder just make a single file and push, after that you can add your stuff and delete the previous file(if you want to).
to push follow the below commands
-git add (folder name)
-git add . (in order to push everything)
-git commit -m "anything" (to keep track of your changes)
if not added remote origin then do this
-git remote add origin (your repo link) then to push files
-git push -u origin main
to push on the master branch
-git push -u origin master
look if you have already created a repo then do
-git push -u origin master

You can't push a new empty folder. First you must create at-least one new file in the new folder and then you can add, commit and push it.

You can directly go to Web IDE and upload your folder there.
Steps:
Go to Web IDE(Mostly located below the clone option).
Create new directory at your path
Upload your files and folders
In some cases you may not be able to directly upload entire folder containing folders, In such cases, you will have to create directory structure yourself.

Related

local git directory with files not on a github clone

I added a directory with files to the local git repo and did the commit. When it was pushed to github it looked like it was added. When I do a clone from github the directory does not show up. I do not find a .gitignore file. Doing a check-ignore --verbose to one of the files added does not return anything.
For an experiment (with the clone up-to-date) I added a directory "gittest" with a file "hello.txt"; did the commit & push. The push appears to show the addition. A pull in the clone appears to show the addition, but the directory/file does not show. Other than starting a new repo and deleting the old one I am stuck as what to do next.

How to upload in an Existing Repository?

I have a repository. I pushed files from a folder. Now I don't want to create new Repository. But I want to push files from a new Folder. The folders are almost same. How can I do this with command?
Assuming that you already have the repository created, you can do the following.
cd newfolder
git clone <link-to-clone-from>
Then copy the files to new folder. Check git status -s to see a summary of changed files in new folder after you copy files. Using git diff or beyondcompare can show you the exact changes that you are about to commit next. If everything looks fine, continue with the next steps
git add -a
git commit -m "your commit message"
git push origin master
Assuming you have two folders:
- Old repo folder
- .git
- My old folders
- My old files.
- New repo folder
- My new folders
- My new files.
And you want to replace all stuff in the remote repo from the old repo folder with the new repo folder.
To do that:
First, delete all content except the folder: .git in the Old repo folder.
Then, copy everything except the folder: .git from the New repo folder to the Old repo folder
And run commands in the Old repo folder:
$ git status
To get if everything is fine. Git will detect that you have replaced a lot of files and deleted many of them. Check the output.
$ git add . && git commit -m "Replace with new content"
$ git push
And this will save your changes and send it to remote server.

Not able to delete a suspicious file from github repository

I was trying to push assignment6 folder in this repository and when I did and checked it, it wasn't uploaded and instead had this weird folder with the same name, which is empty inside maybe because it doesn't open.
I want to delete it. I tried git pull origin master, hoping that it will be downloaded to my laptop and I will delete it, but it says repository is up to date. In the end, I had to rename assignment 6 in my laptop to 6assignment and push it and it successfully did, but I still have that weird folder left in my repository.
Now, I want to remove this weird folder.
git rm -r --cached Assignment6
git commit -m "Removed folder from repository"
git push origin master
removed assignment6 folder from repository.
In order to rename 6assignment folder to assignment6 in repository, repeated above steps again. Doing so, also deleted 6assignment. Then renamed 6assignment folder from my local machine to assignment6, and then pushed it.
P.S. Making the repository back to private now.

How to upload folders on GitHub

How can I upload folders to GitHub? I have all of my code in a folder, containing 98 files, on my desktop. I know how to upload files, but it there a way to upload the entire folder?
Thanks!
This is Web GUI of a GitHub repository:
Drag and drop your folder to the above area. When you upload too much folder/files, GitHub will notice you:
Yowza, that’s a lot of files. Try again with fewer than 100 files.
and add commit message
And press button Commit changes is the last step.
You can also use the command line, Change directory where your folder is located then type the following :
git init
git add <folder1> <folder2> <etc.>
git commit -m "Your message about the commit"
git remote add origin https://github.com/yourUsername/yourRepository.git
git push -u origin master
git push origin master
I Understand where you are coming from.
The solution provided by #James Graham may not work in certain cases. The Drag and Drop Functionality may cease to exist. See below link when that happens:
https://www.reddit.com/r/github/comments/meuxtg/github_drag_and_drop_not_working/
If somebody wants to avoid the shell and all the commands and wants to have a UI to do that,Github Desktop is one of the way to go forward.
Steps to follow to install and use Github Desktop:
I am assuming you know the difference between local repo and remote repo
Install Github Desktop
Create a repository locally on your hard drive by using github desktop. This will automatically create files like .git and .gitattributes. It also asks to create a README.md file, always best practice is to create it and edit it informing readers about your project overview, installation steps etc. README.md is rendered in Markdown and can also render HTML. See more about Markdown here: Markdown Cheatsheet guide
Copy and Paste all the folders and files that you want to upload(basically the right terminology is "Push" ) into this newly created local repository. Be aware of the directory structure as the exact same directory structure will be replicated on your remote repository.
Go to github desktop, as soon as you paste files in the local repo, you will see them as changes here. All you need to do is commit these changes with a comment. This will be your "First or Initial Commit" to the repo.
Next Github repo will ask whether you want to publish these to its remote repository. Click "Publish" Note Publish is just a one time operations. Going forward any further changes you make to local repo will be seen in github desktop and you need to again follow the loop of "Commit local->Fetch from remote->Push to Remote. As long as you are the only developer working on a project you need not go into other mechanics of git branches etc.
To verify if your repo is published remotely login to your github profile on the web and see your repository sitting there. This your remote repo which you effectively created from your local repo by using Github desktop.
I've just gone through that process again. Always end up cloning the repo locally, upload the folder I want to have in that repo to that cloned location, commit the changes and then push it.
Note that if you're dealing with large files, you'll need to consider using something like Git LFS.
For those still using master, this was changed to main
echo "# repo-name" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/username/repo-name.git
git push -u origin main

How to push code to root of git repository (GitHub)

I am very new to git and have been facing the problem below for 4-5 days now.
I have a project that I want to share on GitHub and I created a repo (https://github.com/jitix/cfs/tree/master/cfs) for the same.
Here is what I did:
Checked out the code from svn using Eclipse (Juno).
Removed svn related files and 'cleaned' the folder by doing Team > Disconnect.
Created a local git repository (using both via eclipse and cli on different occasions).
Added appropriate .gitignore file.
Committed the code into the local repo (somehow eclipse moves the folder there, but not an issue). Eclipse made me choose the $repo/cfs as the folder where the code is committed. I could not commit it to $repo.
Now I want to push it into GitHub. Tried out the following:
Method 1 (eclipse):
Team > Remote > Push
Use refs/heads/master as both source ref and dest ref and commit.
Method 2 (cli from the $repo/cfs directory):
git remote add origin jitix#https://github.com/jitix/cfs.git
git push -u origin master
Issue:
In both cases, I am getting the cfs directory under the GitHub repo, not at the root (as most projects have). Also, each folder has a .. link to the parent folder in it (something that I have never seen on GitHub, and something that does not happen if I push using svn).
I checked out my code from svn, created a local repo and committed the code into
You need to create the git repository inside the folder that you want to upload. You've created it one level above the cfs folder and then pushed that, you want to run git init while inside cfs and then go from there.
Try in commandline instead using eclipse and follow the steps that GitHub recommends.
Go inside the directory of your project and type:
git init
git commit -a -m "first commit"
git remote add origin jitix#https://github.com/jitix/cfs.git
git push -u origin master
It should work, although is pretty much what you were doing.