backing up project which uses git

I’m burning my stuff on a dvd, before a quick reinstall. Never done that with git, being a recent user. So I’m just checking with you guys. If I understood correctly, I just need to backup my project directory project_name (which has .git inside it) watching for hidden files along with it, and when I copy it onto the “new” machine, and install git again, I resume like nothing happened ? Correct ?

  • How to install git with Macports?
  • Ignore space difference in context line when applying git patch
  • How to stop tracking folder / files in git from IDE
  • Undo deletion of remote branch in git?
  • Deploying project to live server with Gitlab
  • Accidentally did a branch origin set up to track local branch
  • GIT: How to avoid duplicated commits while maintaining lots of forks?
  • How to sync my git repository on a new computer?
  • Where does the term blob come from in the context of git?
  • Git - get list of files changed in a branch that was merged back
  • How can I push to a git-svn repo?
  • Delete invisible directory after a git clone
  • 2 Solutions collect form web for “backing up project which uses git”

    yep. that’s right.

    If you only want to backup project files (without history), you can use git archive (that way, I do not have to “watch for hidden file”)

    The script git-archive-all.sh will actually archive all git repositories and submodules in the current path.

    Useful for creating a single tarfile of a git super-project that contains other submodules.


    As Charles Bailey rightly mentions in the comments, git bundle is more appropriate, to preserve the history. (git bundle was introduced in February 2007).

    See Backing up a git repository with git bundle

    git bundle was designed to allow transfer of git commits when there is no direct connection between repositories (i.e.: offline) but using patches is not an option because of the large number of commits and multiple branches.
    A git bundle is just one file which can be very easily created and again imported as it can be treated like another remote. A quick example:

    jojo@dualtron:~/devel$ git bundle create ~/devel.bdl master test 
    

    and a bundle is saved under ~/devel.bdl containing my master and test branches.
    If I am now at repository B I just use jojo@dualtron:~$ git ls-remote devel.bdl which shows me the branches stored in the bundle.
    To use the bundle I simple treat it like a remote, using git fetch (for example)

    jojo@dualtron:~/git/repoB$ git fetch ~/devel.bdl refs/heads/\*:refs/remotes/bundle/\*
    
    Git Baby is a git and github fan, let's start git clone.