godotengine / godot-proposals

Godot Improvement Proposals (GIPs)
MIT License
1.15k stars 97 forks source link

Add GitHub integration to the editor #2995

Open RACECAR69 opened 3 years ago

RACECAR69 commented 3 years ago

Describe the project you are working on

So I'm working on a 2d fighting game

Describe the problem or limitation you are having in your project

GitHub Creates a new project every time I want a version of the game in my computer and causes clutter and missing assets

Describe the feature / enhancement and how it helps to overcome the problem or limitation

GitHub Godot integration this keeps all the clutter clean and only need One project and way less clutter and less brain involved to Collab

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

so I don't know how exactly this all works but just add a button on Godot and then when user clicks the button it will upload it to GitHub including all the art and assets and upload everything to a repo and if another person wants to edit it just tap another button in Godot ask which version you would like to update to your pc also it would be nice if it doesn't create another project all the time

SO when you know that your friend has made a change to his code you go to the Collab section somewhere and update the project for this to make sense to add it must be faster and should be totally Godot integrated.. when you are done making changes you can say make new version and put up the whole game and update it to connect GitHub to Godot you create a repo manually and then Godot does the work for you if this issue gets more attention i can create visual picture mockups of the whole process thank you for your time.

If this enhancement will not be used often, can it be worked around with a few lines of script?

I am not sure about this

Is there a reason why this should be core and not an add-on in the asset library?

this is about improving the Collab experience and would be Giant Leaps ahead of other game engines and working with friends on games is the best feel

also sorry for the not so in depth description I'm new to Godot myself

zinnschlag commented 3 years ago

https://docs.godotengine.org/en/stable/getting_started/workflow/project_setup/version_control_systems.html

YuriSizov commented 3 years ago

Unfortunately, version control systems as powerful as Git don't work in a way that would allow you to do a two-button setup (one for uploading and one for downloading). Doing anything like that would be a disservice to Git. You can theoretically make a plugin for your specific projects that would behave in a simplistic and predictable manner, but that's a lot of work for not a lot of gain.

What is a lot of gain is learning how to use Git. The link above gives a nice overview, plus gives a link to our official Git editor plugin. It doesn't integrate with GitHub directly, but that is one of the things you need to learn how to setup. You can also use third-party Git clients, which would likely be more advanced and user friendly.

There is also a GitHub plugin on the AssetLib, though I've never used it.

Calinou commented 3 years ago

There is also a GitHub plugin on the AssetLib, though I've never used it.

Link: https://github.com/fenix-hub/godot-engine.github-integration

dsnopek commented 3 years ago

What is a lot of gain is learning how to use Git.

It's probably bad form to link to my own tutorial, but... :-) There is also this video tutorial series about using Godot & Git for absolute beginners:

https://www.youtube.com/playlist?list=PLCBLMvLIundB2axawTUWHySTeAD-bCfyg

Xrayez commented 3 years ago

In case we have misunderstanding here and for those stumbling upon this proposal, Godot officially provides Git GDNative plugin.

I've also integrated a built-in implementation of Git plugin via modules in Goost, see goostengine/goost#98. This way, there'll be no need to download any kind of external plugin in order to benefit from Git functionality (even if you don't have Git installed on your machine).

Of course, full collaboration is a different topic which involves not only VCS, but editor/networking.