Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
Celebration

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root

Avatar

1 badge earned

Collect

Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!

Challenges
Coins

Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.

Recognition
Ribbon

Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!

Leaderboard

Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,551,880
Community Members
 
Community Events
184
Community Groups

Merging branch into master is not keeping, or recognizing certain file changes.

Edited

I'm using Sourcetree to mange a Bitbucket account for a Unity engine project I'm working on. Unity uses an Assets folder which holds image files, game world files, etc.

I created a branch to fix a bug, and inside this branch I deleted several files in the Assets folder (mostly PNG images) and added several new ones as well as modified some other pertinent files. I've commited the finished changes to that branch just fine, however now that I'm attempting to merge these changes into master, Sourcetree seems to act as if there are no changes to any of the files in this Assets folder. After it prompts me to resolve conflicts, when I look at the working copy the entire Assets directory isn't even visible when viewing "Pending" or "Conflicts" files. These files are visible when I select to view "Clean" files, and there seems to be no insinuation at all that the branch I'm attempting to merge from has deleted or added files in this directory.

Any ideas what's going on in this situation?

 

EDIT: The Assets directory is not specified in the .gitignore file.

EDIT2: If I use ctrl to select the master and branch together, I am able to view the changes which are correctly reflected. However the problem arises when attempting to merge.

2 answers

It seems like the issue is something to do with git and not Sourcetree in particular. I attempted to merge using the git terminal and had the same issues arise, so my somewhat hacky and non-elegant solution was to simply create a new branch off master, paste all the files from the troublesome branch into that new one, commit that branch, and then merge it into the master branch. This merge was successful so it seems like git has some issue with the tracking on the original branch for some reason.

0 votes
minnsey
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
Mar 07, 2019

Hi,

After the merge are the files the new versions?

Would it be possible to add some illustrative screenshots?

After the merge the files are the older versions (the ones in master NOT the ones in the branch). Here's some pictures for example:

 

Here is the Assets/Sprites/Player directory in the sprites_blurry branch:

branch.PNG

 

Now here is that same directory in the master branch:

master.PNG

 

We can check the differences between the two branches here:

diff_against.png

 

And we see that the pictures do, indeed show up as different:

differances.PNG

 

Now with the master branch checked out we attempt to merge the blurry_sprites branch into the master:

merge.png

 

It says conflicts need to be resolved so we look in the working copy. However, the pending files don't recognize any of the contents of the Asset folder as being altered:

pending.PNG

 

We can see this when we view the clean files, and the Asset directory is visible, containing the master's version of those files, but no reference to the branch's deletion of them or inclusion of new files:

clean.PNG

minnsey
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
Mar 07, 2019

Hi

I'm not quite following the pictures. In both the master and hotfix branches those files are listed as unstaged and therefore not committed etc. Shouldn't all the files be committed in the hotfix branch so they can be merged to master?

The files have been and are shown as commited and pushed on the Bitbucket server.

I would assume they are listed as unstaged because there is no changes between them and the last commit. In those example pictures I am switching between the two branches by checking them out respectively. In the first picture the hotfix/sprites_blurry branch is checked out and the contents of the last commit to it are visible. In the second picture the master branch is checked out and the contents of the last commit to it are visible.

minnsey
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
Mar 07, 2019 • edited

Are you changing branches after you started the merge to master?

I.e.

  1. you commit everything in the hotfix branch, so the staging view is empty.
  2. Then you switch to  master
  3. Then you merge in hotfix, this then shows the uncommitted changes because there are conflicts
  4. Then you switch branch back to hotfix before completing the merge in master

 

Nope, I'm not switching branches mid merge. Here's a picture after attempting to merge if that helps at all.

merge_attempt.PNG

minnsey
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
Mar 07, 2019

Yes I'd expect to see that.

But this one looks odd

branch.PNG

Why is there a merge and uncommitted files showing in this branch my understanding was you'd committed everything in this branch?

Ah, in this picture I had attempted the merge commit but discarded the changes because it wasn't working properly as previously mentioned. It seems it kept that comment in the box below even though the merge commit never happened.

Without that discarded merge attempt, here is the working copy of the hotfix branch:

current branch window.PNG

minnsey
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
Mar 11, 2019

I'd be interested to see what Git thinks of it, if you do the merge from the console/terminal?

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events