4 ms·
“a single proprietary solution Github by Microsoft” Moving (Edit: Just the code, not issues and not pull request information) away from GitHub is trivial, sinc
by strenholme 7y ago
“a single proprietary solution Github by Microsoft”
Moving (Edit: Just the code, not issues and not pull request information) away from GitHub is trivial, since Git itself is open source and distributed, requiring merely setting up a repo on the new server (such as the open source Sourcehut) then running these commands:
git clone https://github.com/foo/bar
vi bar/.git/config # Add new remote location
cd bar
git push baz master
(Replace foo, bar, and baz with real names)
- ChrisSD 7y agoAnd what about the issue tracker? Issues and discussions of pull requests would be lost by merely moving the code.
- strenholme 7y agoSome thing would be lost, yes [1] but the core code and commit history would be preserved. Issues can still be re-opened if still relevant, and pull requests can still be seen in the commit history. Comments on pull requests, if not approving a pull, will result in additional commits to the code which will be preserved. Whether this is OK for a given use case depends on how important ticket and pull request comment history is. For open source projects, I don’t consider that kind of history nearly as important as the code itself, since a lot of issues are wishlist requests, support requests, or downright spam. [1] Including branches unless one runs a script to go to and clone each branch to the new repo
- michaelmure 7y agoI'm working on this, have a look at https://github.com/MichaelMure/git-bug https://github.com/MichaelMure/git-bug
- cabraca 7y agoyou can import github projects including issues and stuff into gitlab https://docs.gitlab.com/ee/user/project/import/github.html https://docs.gitlab.com/ee/user/project/import/github.html
- atombender 7y agoOne-liner to change the URL of the upstream repo: git remote set-url origin <new URL>
- Shorel 7y ago# Add new remote location cd bar git remote add neworigin https://newserver.com/foo/bar git push --set-upstream neworigin master