Git guidelines

I`ve used to TortoiseGit, which missing this option. (And I prefer to review fetched commits before deside what to do with my local changes: rebase or may be branch and merge later)

Tow
In the wiki"how to build VCMI"
I saw the lib files of SDL
it that mean now you develop VCMI by SDL?
as I konw SDL can make the Windows Linux Android IOS all.

Another stoopid question.
I want to start new works on current version of vcmi.
Do i need to create new fork of vcmi and clone it?
Or i can somehow take last vcmi files and replace with them my current fork on github (github.com/Macron1Robot/vcmi) to ensure that my fork is identical to current vcmi state?

No new fork needed obviously. You need just to fetch main VCMI repo to your checkout (then f.e. reset your develop branch to current head) and push to your fork.

I still didn’t managed to reset Macron1Robot/develop fork to original repository vcmi/vcmi/develop
What should I do?
I don’t need any changes in my local folder with vcmi project.
How can I make my github fork identical to original vcmi/develop?

If I will delete my repository with fork, and then make fork again, will it ruin something in vcmi/vcmi?

You don’t need to keep your “develop” branch in sync. How I do it is:

# clone your repo fork (replace xyzz with your github username)
git clone [email protected]:xyzz/vcmi.git
cd vcmi
# add upstream remote, to get changes from VCMI upstream
git remote add upstream https://github.com/vcmi/vcmi.git
# download upstream code
git fetch upstream
# create branch for your feature that you plan to "pull request", based on current upstream develop state
git checkout -b my_totally_awesome_feature upstream/develop
# you're on local my_totally_awesome_feature branch now which contains a "copy" of upstream develop
# now do your changes, commit stuff with "git commit", write reasonable commit messages, etc
...
# by the way, if your feature is taking too long you should do
git fetch upstream
# from time to time and then update your feature branch either with
git rebase upstream/develop
# or
git merge upstream/develop
# this will either rebase your changes on top of current upstream develop branch or merge develop branch into yours
...
# publish your work, this will send your changes to your fork at github
git push -u origin my_totally_awesome_feature

Here’s how it should look like: github.com/xyzz/vcmi/tree/my_to … me_feature

Now green “Compare & pull request” will appear at the top, click it, review your changes and send pull request to VCMI team.

Very big thanks, made first part of commands. So will work on battlefields issue. And then test second part of these commands:-)

Is there any possibility that there will be actual guideline how to setup git/KDevelop etc on Linux (Debian, for example) and how to work with VCMI under Linux?
This MS VS registration troubles me. I would like to mess with Linux.
Or setuped Virtual Box image that can be used right from start on VCMI coding will be good thing.

MS VS - IIRC they have completely free express edition. I think express is more than enough for vcmi.

Linux - not much to write here. Installing software here is trivial so no reason to describe this.

I mostly use QtCreator + git console without any gui. QtCreator does have git plugin but console seems faster for me. And as for general setup under Linux - check readme.linux file for that info.

My free express edition had exired after month, Now MS VS asks for Microsoft Account to log in, I don’t have one. Maybe i’ll register it later, But i think it’s better to relay on open source environment. Cause it will not change rules for soft or require registration,

I registered and didn’t die from it, don’t worry. Visual is very reliable in terms of updates and licensing.