Using GitPython to download a specific version - gitpython

How can I clone a repository but just using the branch,
the tag or the exact commit?
REPO = git.Repo.clone_from(url, tmpdirname, branch=branch
Something like above download all the repository...

Related

Push current code to existing GitHub repository

I have several Visual Studio solutions that have both a local repository and one on GitHub. I've already made many changes and successfully pushed those changes to GitHub.
But now Visual Studio has forgotten that one of my local repositories is associated with a GitHub repository and I can't seem to figure out how to reconnect it. In fact, it no longer lists that repository in my list of GitHub repositories.
In the image below, you can see I have a local repository called Toxic, but that repository does not appear in the list of GitHub repositories. If I try publishing the Toxic project to GitHub, it just tells me the repository already exists.
How the heck can I get all of my existing Github repositories to show up in the top section shown above so I can push my latest changes?
it appears the only option is to clone the GitHub repository locally, copy my modified files over the newly created repository, and then check in my changes.
Try fist:
installing Git for Windows (command-line)
cloning your remote repo in a new folder
adding your existing repository as a remote
fetching and see if you can cherry-pick your commits
That is:
git clone https://github.com/<user>/<repo> newFolder
cd newFolder
git remote add old ../path/to/old/local/repo
git fetch old
git log old/master
git cherry-pick old-sha1..old/master
(with old-sha1 being the first commit you want back)
Then add the newFolder in your Visual Studio workspace, and see if everything works (do a modification, add, commit and push)
Unless I'm missing something, it appears the only option is to clone the GitHub repository locally, copy my modified files over the newly created repository, and then check in my changes.
Of course, I lose all my comments and iterations since the last check in to GitHub. And care had to be taken not to delete the .git folder, and to copy over all changed file and delete any that had been removed. Seems like there should be an easier way but this certainly did the trick.
I'm no git expert, but I think I might be able to help, if I'm not too late.
Run:
git remote -v
This should print something in the form of:
origin <remote_repo_url> (fetch)
origin <remote_repo_url> (push)
If you only see:
origin (fetch)
origin (push)
try running:
git remote set-url origin <remote_repo_url>
If you get no output then run:
git remote add origin <remote_repo_url>
And then try
git push -u origin
The -u or --set-upstream flag will set origin as the default repo for your branches.

Is there any way to prove a heroku deployment corresponds to a github repo?

I want to set an opensource project where users can be sure that the deployed version .heroku.com corresponds with the actual source code in github master branch github.com/
Is there any way to prove a heroku deployment corresponds to a github repo?
Your app can spit out the latest deployed Git SHA if it has the "Dyno Metadata" feature turned on: https://devcenter.heroku.com/articles/dyno-metadata
Using that, you can show the latest SHA and compare it against the public repo.
Also, to add to what Jon said, you can do this via the heroku releases command. Every release, be it a code deployment, config var is 'tagged' - the command will show you everything that has changed on your app and a deploy will show the short git SHA, you can copy the SHA and then use the git command to search the repo for it.
eg.
assuming heroku releases returns
v10 Deploy 33f21247 foo#bah.com 2018/09/03 10:01:38 +0100
then you could do:
git cat-file commit 33f21247
which will then output the corresponding match, or a message saying it's not found. Obviously, this assumes your local repo is in sync with GitHub. To check it against GitHub you'd need to open your repo on GitHub like:
https://github.com/heroku/{projectname}/commit/{sha}
which will show the same commit on GitHub.

Redmine Project Repository Location

I have redmine set up using bitnami on windows I created a project and added a repository by location successfully. Now I'm trying to clone this via redmine,
ex
git clone http://localhost/git/myproject
or
git clone http://localhost/redmine/git/myproject
The repository of the project is located in the htdocs\git\myproject folder, but when I try this it says repo not found. What is the link for redmine repos, or do I have to move the local repo elsewhere on the server to work?
I'm not sure about git, but for Mercurial you need to insert the local path of the repository. It looks like that also the case for git. So you'll need to set the repository to /htdocs/git/myproject

Cloning Repository

I have installed GIT on VS2010
I am comfused with tools of GIT.
When clicking on:
GIT->Clone Repository
Does cloning repository means that we will upload files of the repository?
Is Commit tool the opposite way of cloning: uploading files in the repository?
Yeah, cloning mean you download the files of your repository.
Commit is a tool to save your modifications, but to upload file into your repository, you need to use the Push tool

PULL a project from GitHub remote branch

after checkout to the desired branch:
git checkout feature/myBranch
I want to pull the project contained in this branch to my local repository, how can i do that please.
You load the content of a remote repository by adding it as a remote and calling git fetch. That is all what needs to be done. After that, you already have the changes in your local repository, it’s just that there is no local branch pointing to them (but a remote branch like origin/branch).
When you can checkout a branch, then you already have everything in your local repository.

Resources