Let's talk about GIT again
Ecosystem
Windows 10 64bit
Powerbuilder v2019r2
TortoiseGit v.2.10.0.2
Git v2.27.0.windows.1
Remote repository dev.azure.com
Project1 with 3 branches
Prologue
I uploaded a project to our remote repository and also sent the PBLs.
This was a must since those who make 'clone' must have the pbl available.
I subsequently modified the .gitignore by adding "*.pbl" to make Git ignore the changes to the pbl.
Result:
Operation
The development team is working on the project 'project1' simultaneously on 3 branches: branch1, branch2 and branch3.
User1 is positioned on branch1 and makes some changes. Commit and also push.
Result?
Now user1 must make an urgent change on branch2 and try to move using TortoiseGIT.
Result?
At this point he is forced to send the PBLs to the remote repository. He commits and PUSH.
Now user1 can be moved to branch2 to make his urgent change.
It moves, modifies, commits and pushes.
When he has finished, user1 must go back to branch1, so he also pushes the pbl. (otherwise it cannot change branch)
In the meantime, user2, which is located on branch2, has finished its work and needs to update the remote repository.
Commit and then push.
The PUSH gives him the error: 'fast-forwardable'.
Try doing a pull.
The PULL gives conflict error on the pbl.
Question
At this point what should be done?
In a reality where you work with multiple branches (version1, version2, versio3) of the same project and with multiple users, how do you configure the environment?
If I do a PUSH of the PBL I create conflicts
If I don't do a PUSH of the PBLs, I can't change branches
Solutions?
P.S.
Why don't we delete these PBLs and leave individual files like VS and JAVA? PBLs are becoming a ball and chain.
quite right ?
User1 on branch1 with some changes not ready to commit but he needs to do some urgent fix on branch2.
User1 does a Stash Save (all the sr* and PBLs).
User1 switches to branch2 and fixes the issue and commits and pushes.
User1 switches to branch1 and does a Stash Pop so he is back at his original state on branch1.