youngmon/atlassian-qna huggingface dataset:
Why does the graph in sourcetree look so different from git log?
Asked by Tamara Jordan:

Here is the graph I get when running the command \`git log --graph --oneline --decorate --all\`

It's completely linear. origin/chord-groups and master share mutual commits.

image2017-1-19 13:42:2.png

However this is the graph I get in Sourcetree:

image2017-1-19 13:43:12.png

I'm struggling to understand why the graph isn't linear. The graph implies that chord-groups and master don't share the same history.  
[](https://community.atlassian.com/t5/Sourcetree-questions/Why-does-the-graph-in-sourcetree-look-so-different-from-git-log/qaq-p/77806?attachment-id=6623){#link_11688b32afa33a}  
[](/tnckb94959/attachments/tnckb94959/sourcetree-questions/2175/1/image2017-1-19%2013%3A40%3A47.png){#display_11688b32afa33a_0}  
[](https://community.atlassian.com/t5/Sourcetree-questions/Why-does-the-graph-in-sourcetree-look-so-different-from-git-log/qaq-p/77806?attachment-id=6624){#link_11688b32afa33a_0}  
[](/tnckb94959/attachments/tnckb94959/sourcetree-questions/2175/2/image2017-1-19%2013%3A43%3A12.png){#display_11688b32afa33a_2}  
[](https://community.atlassian.com/t5/Sourcetree-questions/Why-does-the-graph-in-sourcetree-look-so-different-from-git-log/qaq-p/77806?attachment-id=6625){#link_11688b32afa33a_1}  
[](/tnckb94959/attachments/tnckb94959/sourcetree-questions/2175/3/image2017-1-19%2013%3A42%3A2.png){#display_11688b32afa33a_4}  
[](https://community.atlassian.com/t5/Sourcetree-questions/Why-does-the-graph-in-sourcetree-look-so-different-from-git-log/qaq-p/77806?attachment-id=6626){#link_11688b32afa33a_2}  
[](/tnckb94959/attachments/tnckb94959/sourcetree-questions/2175/4/image2017-1-19%2013%3A38%3A23.png){#display_11688b32afa33a_6}


Answers:
author: Seth
body: Check to see if SourceTree is displaying commits in "Date Order" or "Ancestor Order", and try switching it. I've seen other people report situations where somehow using one or the other results in a situation where SourceTree displays a child commit lower on the list than its parent, and that completely destroys its ability to render correct lines.

comments: author: Tamara Jordan
body: I spent ages trying to work this out and the fix was so simple. Thanks! :smile:


author: Tamara Jordan
body: Decided to just use the shell on it's own from now on. Using sourcetree has started to become more and more of a drag.
How do I revert a committed merge using SourceTree (Mercurial)?
Asked by Dennis Serras:

This is really a best practices question. Using Bitbucket with Mercurial, SourceTree, and PyCharm. I am testing with a series of commits and merges, and I want to test "reverting". This means, to me, setting my default branch to an earlier commit somehow, either by backing out the merge or just updating the files from the earlier commit.

Thanks in advance!

Den


Answers:
author: Seth
body: For both Mercurial and Git, the first question to answer when deciding how to fix a mistake is: "Have you pushed the mistake?"

This blog post covers how to proceed in both scenarios: <http://hgbook.red-bean.com/read/finding-and-fixing-mistakes.html>

[](http://hgbook.red-bean.com/read/finding-and-fixing-mistakes.html)To summarize, if you HAVE NOT pushed, you should "rollback".

If you HAVE pushed, you should "backout", creates a new commit that "undoes" the changes.


author: Dennis Serras
body: I'm really having trouble getting a handle on this. I've tried all the obvious things - there's no "rollback" or "revert" command, and the "reverse commit" only works on commits which haven't been merged. I tried just making the earlier merge point become the tip - thereby abandoning the original tip - and that sort-of worked but seems to have caused problems. I tried this by selecting the earlier merge point, but I couldn't push it (no changes). So I made a small change and couldn't push it (error message about creating a new remote head). So I used Force Push in PyCharm and was able to make it the tip. But now I have two "default" markers, and that seems to be an issue. When I made a new branch, it didn't show it as a new branch but in the main line with the new branch as a marker on the text descriptor, and when I made a change in that branch it wouldn't let me push the commit (something about heads). Then I tried clicking the point before the new branch would be and chose merge, and it let me merge the new branch back in and the tree goes in and out. Could really use help here!

2017-01-20 12_52_01-SourceTree.png  
[](https://community.atlassian.com/t5/Sourcetree-questions/How-do-I-revert-a-committed-merge-using-SourceTree-Mercurial/qaq-p/444449?attachment-id=993){#link_11724756c55303}  
[](/tnckb94959/attachments/tnckb94959/sourcetree-questions/13319/1/2017-01-20%2012_52_01-SourceTree.png){#display_11724756c55303_0}


Tags: bitbucket

mercurial

python
Sourcetree commit history always empty
Asked by Ken Evanchik:

Attached image shows what I am always seeing in commit history. I am able to checkout branches, pull commit push, etc. No issues. History however shows nothing. Repo is Git. Version of ST is 1.9.10.0. Have tried removal of bookmark and reload. Deletion of local repo and re-clone. Uninstall of app, and uninstall of app with deletion of ST configuration files. Not sure how to proceed.

Clipboard01.jpg  
[](https://community.atlassian.com/t5/Sourcetree-questions/Sourcetree-commit-history-always-empty/qaq-p/230155?attachment-id=2746){#link_11688b5d011f50}  
[](/tnckb94959/attachments/tnckb94959/sourcetree-questions/6667/1/Clipboard01.jpg){#display_11688b5d011f50_0}


Answers:
author: Seth
body: That's very strange. There's clearly an error when loading the history, but I have no idea how to see what that error is.

You might try contacting Atlassian directly: <https://support.atlassian.com/servicedesk/customer/portal/1>
Ammended a commit AFTER it was merged into 'master'
Asked by meir_guttman:

I did that in my feature branch which resulted in one PUSH and one PULL pending and I fail both of them. For example, trying to PUSH to the repository I get the following response:

```
git -c diff.mnemonicprefix=false -c core.quotepath=false push -v --tags origin EoD2_cleanup:EoD2_cleanupPushing to D:/Meir/Dropbox/git_repositories/ML.gitsh: warning: setlocale: LC_ALL: cannot change locale (en): No such file or directoryTo D:/Meir/Dropbox/git_repositories/ML.git ! [rejected]        EoD2_cleanup -&gt; EoD2_cleanup (non-fast-forward)error: failed to push some refs to 'D:/Meir/Dropbox/git_repositories/ML.git'hint: Updates were rejected because the tip of your current branch is behindhint: its remote counterpart. Integrate the remote changes (e.g.hint: 'git pull ...') before pushing again.hint: See the 'Note about fast-forwards' in 'git push --help' for details.
```

How do I get out of this mess?, Pleeeease...

Meir


Answers:
author: Tamara Jordan
body: There's nothing wrong with amending and I do it all the time!

If you've already pushed your changes to your remote and then decide you want to change them, amend the commit like you have done. Then in terminal/cmd type in

```
git push -f
```

or

```
git push remotename branchname -f
```


author: meir_guttman
body: @seth: For no apparent reason, I was successful in PULLing and then successful in PUSHing. Why it was that way is a mystery for me. (I remind myself of a certain computer challenged person in our household :smile:). But I learned my lesson: NO AMEND, EVER! (learned it the hard way, but is there ever an easy way???) Thanks, Meir.


author: Seth
body: Well, you can't push until you've pulled. What is the Pull error?
how to complete installation of SourceTree on Mac OS 10.12
Asked by Scott Piccotti:

I get as far as logging in with my Atlassian account, but I can't find any way to proceed from there. The only button available is "Cancel". Any idea what I'm missing?

Screen_Shot_2017-01-13_at_11_40_34_AM.png  
[](https://community.atlassian.com/t5/Sourcetree-questions/how-to-complete-installation-of-SourceTree-on-Mac-OS-10-12/qaq-p/269473?attachment-id=5694){#link_11688b96508013}  
[](/tnckb94959/attachments/tnckb94959/sourcetree-questions/8467/1/Screen_Shot_2017-01-13_at_11_40_34_AM.png){#display_11688b96508013_0}


Answers:
author: Christian Kretzschmar
body: Hi @Scott Piccotti,

I think you have to fill in your user details and hit the save button to proceed. After this you should be able to continue with the installation process.

Regards,

Christian

comments: author: Scott Piccotti
body: Nope. I hit "save" and it saves my user details. I've saved by user details six times now and nothing else happens. The only action I have available is to click "cancel".
Show log history of a directory in Source Tree
Asked by Schreini:

How can I show the log History of an entire directory so that I see only commits affecting files in this directory?


Answers:
author: Johannes Kilian
body: I haven't seen anything like this yet.

As far as I understood git yet, git does not handle directories - it simply handles files (for example you cannot add an empty directory to git). git is not aware of the concept of directories. As Sourcetree is mainly a git GUI-Frontend, SourceTree is also (mainly) directory agnostic.

comments: author: Callum Barker
body: Still not possible in Sourcetree AFAIK. You can however use

```
gitk -- path/to/folder 
```

from the command line to display a GUI showing the git commits that affected a particular folder.


author: James Dengel
body: I do not know of a way to do this in SourceTree but using the terminal

the commands you are looking for are:

    git log -- path/to/foldergit log -- path/to/folder/*

```

```

This should give you the history of the folder.


author: Thomas Chen
body: Select the directory from whichever view you want. Right-click and choose "log selected". You can even do this while looking at deleted directories in the history.

comments: author: Jes?s L?pez
body: Thank you!


author: ych
body: [@Thomas Chen](/t5/user/viewprofilepage/user-id/2503091) could you please clarify how exactly you select the directory?


author: sachelis
body: From which view can you "select the directory"? I can select files and choose "log selected," but I don't know of anywhere within Sourcetree that I can right-click on a directory.


author: Pete Fowler
body: right clicking and selecting log selected on a folder works sometimes, but often times the log selected option is disabled. Any way to make it work all the time? Why is it disabled sometimes? Thx


author: Seth
body: You can't do that in SourceTree. There may be a complex git command that gets you that information, but I don't know what it is.
Finish it... How do you tell what System Git is using? Also, is it through Windows or MinGW?
Asked by Gary Creech:

*This question is in reference to Atlassian Documentation: [Using Embedded Git or System Git in SourceTree](https://confluence.atlassian.com/pages/viewpage.action?pageId=785323587)*

Ask your question here...


Answers:
author: Gary Creech
body: Which system is it using ... MinGW (terminal shell) or Windows CMD? ... and what context do you type in git --version? In the Terminal command line??

I have proved to myself that the Custom Commands in SourceTree uses the Windows CMD environment (on my Windows version).

Thanks for the quick reply!

Update: Did this from both a CMD window and a terminal window .... got the same answer ...

git version 2.8.3.windows.1 .... (but that still does not tell me which git.exe is being executed in SourceTree ... MinGW or Windows CMD).


author: Jonas Andersson
body: git --version
Why is a restart of SourceTree needed for Remote Fetch/Pull to work?
Asked by Gary Creech:

On my Windows install, I have to exit SourceTree and re-enter SourceTree each morning before remote fetches will work... Why?

Seems to be related to a long period of time in-between SourceTree use.

Is there another workaround (for instance, Refresh does not fix the problem).

Seems that local functions seem to work OK, but anything that is dealing with the remote, seems to fail. My Remote is on Bitbucket (if that is relevant).

Also, when the commands are sent manually from either CMD or MinGW, the commands execute. When I use the Custom Commands, they **do not work (when ST is in this state)**. My custom commands are using CMD environment (used a custom command "which git.exe" to prove that is using Windows path to git.exe). Did a git --version and got "git version 2.8.3.windows.1". Did this in WinGW terminal, Windows CMD, and Custom Command in ST.

A re-start of ST fixes all ... but, this is very consistent.

Thanks.


Answers:
author: Gary Creech
body: Since I have turned off the auto-update under the General options tab, this problem has gone away ... now I just always manually hit the Fetch button before I do anything ...


author: Seth
body: Unless you have a specific reason to use system git, you might try switching to embedded. Theoretically, SourceTree is tested against the git builds that they distribute as "embedded", and might help avoid this kind of problem.

Besides that, idk what's going on.


author: Gary Creech
body: system git


author: Seth
body: Very strange. One more question, are you using embedded or system git?


author: Gary Creech
body: No error - just sits forever with the scanning work progress bar looking like it is trying ... If I go out and back into ST, and try again, the action always completes immediately.  

BTW - I have auto checking of remotes for updates every 10 minutes set ... I tried unchecking this box.

The behavior was changed.

(to clarify)

When I uncheck the remote update box under General Options, I have not had to restart ST (that I have observed as of yet). Fetches and Pulls seem to work, even after long periods of time (like overnight).

Of coarse I have to manually update with a fetch, but, so far the above has not been observed. Perhaps the two are related ...


author: Seth
body: What kind of error do you get?
Will pull only merge the changes to local repository?
Asked by Fangfang Liu:

I am new to Source tree and Git. I am trying to understand what is the difference between Git and SVN. Someone told me that Git will take a full snapshot of the whole project instead of just for the increment files. So for example, when someone pushed code change for file A to remote repository and I need to pull them to my local, if in my local repository, I didn't touch file A but changed the file B, would there be a conflict for file B? Will source tree overwrite my file B with remote repository's original file B? Thanks.


Answers:
author: Seth
body: The someone told you wrong. They mixed up two separate differences between git and SVN.

First, an individual git commit doesn't store the whole project. The difference they were referring to is that, **for each file that has been modified**, a commit in git stores the entire file, while SVN stores a diff. Unchanged files aren't included in the commit data.

That shouldn't make make much of a difference to a typical user though. The git software still calculates diffs when merging, and it also has a mechanism to compress commit data so it doesn't take up unreasonably more space than SVN commit data.

Secondly, when you clone a repository in Git, it copies the ENTIRE REPOSITORY to your machine, while SVN just copies a set of files that are associated with a particular branch. This means that you can do local operations (create/switch/delete branches, commit, tag) without connecting to the remote repository. The operations Push, Pull, and Fetch are used to keep your local repository in sync with remote ones.

To really understand the differences, check out the Git Book: <https://git-scm.com/book/en/v2/Getting-Started-Git-Basics> It describes all of that information very clearly, with simple examples. The git book uses git commands (not SourceTree or any other UI), but the commands typically pair directly with SourceTree terms ("git fetch" is the Fetch button, "git commit" is the Commit button, etc).

comments: author: Fangfang Liu
body: It helps. Thank you. I will take a look at the Git book.
In history view, source tree displays the diff for only one file per commit.
Asked by seongkwang:

In history view, sourcetree displays the diff for only one file per commit even though multiple files have modified. How can I see all the files which have modified? The version of sourcetree is 2.4


Answers:
author: yoinamira
body: It's hidden between sort-search bar and commit description panel.  
It has 0 length so you have to unwind it manually yourself.   

That was the problem in my case.


author: Seth
body: Under the graph, the left panel should display a list of modified files, and the right panel should display the changes within one of those files. Is this different than what you're seeing?

comments: author: Arun Das
body: I noticed if I select all the files in the list, it will show a combined diff of all files. How can I just make it show the diff of all files by default? That's my preferred view. I don't want to have to click files one by one or have to "select all" the files manually whenever I view a commit.


author: Arun Das
body: LOL I just found out the answer to my own question. Just enable this option:

Sourcetree Settings \> Commit \> **Select all files when selecting commit**


author: seongkwang
body: There is a single panel under the graph. no panel displaying a list of files.
Changes not being tracked
Asked by Gibran Shah:

Hello,

I just migrated my source code to a new computer. I did it through SourceTree connecting to my BitBucket account.

I have several projects in my Visual Studio 2015 solution. In all except one project, I'm able to modify the source code and have Visual Studio recognize the changes and list them in Team Explorer. When I commit them, they show up as commits in SourceTree. But there's one project for which this is not working. It's my unit test project. For some reason, any changes I do in this project do not get recognized as changes in Team Explorer. I have verified that this project is indeed in the repository under my BitBucket account, but for some reason the changes are not being tracked.

Can anyone suggest why this is happening? Thanks.


Answers:
author: Gibran Shah
body: Problem solved: I was unaware that adding items to gitignore will do nothing if those items are already being tracked. To untrack Database.jfm I had to remove it from the cache with:

git rm --cache Database/Database.jfm


author: Gibran Shah
body: Update: it turns out ALL projects are untracked. The unit tests were just the one's a noticed first.

My google research tells me to try: git add -u. When I do that I get the following error message:

error: open("Database/Database.jfm"): Permission denied  
error: unable to index file Database/Database.jfm  
fatal: updating files failed

I don't know why permissions are all of a sudden denied on Database.jfm. I'm not even sure what that is.

In any case I tried:

git add --ignore-errors.

I tried adding Database.jfm to .gitignore.

But none of that works.

Please help me if you have any insights at all. Thanks.
SourceTree GIT LFS won't allow 64bit
Asked by UnderminerStudios:

I can't get SourceTree to run GIT-LFS in 64bit mode. It only does 32 bit. I have the 64 bit mode installed and if I do command line it has no issue. In the git tab of options I also have Use System Git mode enabled.... Not sure what to do here. It makes committing using SourceTree useless because it's slow and unstable as I have a BUNCH of binary files.


Answers:
author: UnderminerStudios
body: The 32 bit version is limited to about 300 mb of memory and it's very very slow. Example the 32 bit version ran for 12 minutes and did apx 150mb of files. The 64bit version did 1.7gb of files and finished in 30 seconds. I have a repo that is mainly binary (I make VR content) and this difference will save me days in development time per month.


author: Seth
body: This may be a dumb question, but what's wrong with 32-bit git-lfs?
git lfs pull
Asked by mkanakis:

Maybe this is more of an improvement suggestion rather than an issue.

First time using lfs, after cloning the repository, sourcetree indicates that content stored with lfs can be pulled. You click yes and you just wait for an unknown amount of time.

In the screenshot below there is really no info on anything such as remaining time, download speed or even a proper progress bar. I don't even know if this is supposed to be working right now or I am having an issue pulling content. That lead me to delete and clone again the repository since first time I thought it was stack after waiting for 2hours.

Is this normal?

Thanks.image2017-1-9 15:40:7.png  
[](https://community.atlassian.com/t5/Sourcetree-questions/git-lfs-pull/qaq-p/138039?attachment-id=4934){#link_1172482406782d}  
[](/tnckb94959/attachments/tnckb94959/sourcetree-questions/4096/1/image2017-1-9%2015%3A40%3A7.png){#display_1172482406782d_0}


Answers:
author: Asbj?rn Mikkelsen
body: Same problem here also, but our progressbar didn't even move. Git only gave us a 1kb file for the files in LFS, using Bitbucket website verified that the file is there and possible to download, but Sourcetree does not manage to download the LFS files.
Clone with --bare option
Asked by Meldon Pettitt:

I'm able to clone a repository using SourceTree, but I'm not seeing a cloning option in the GUI to clone with the --bare option.


Answers:
author: Seth
body: That's because there's not one.

A bare repository doesn't have a working copy, which is not typically what people want in a user-focused repository, seeing as it makes most of the GUI operations pointless (Commit, Checkout, Merge, Pull, for example).

Furthermore, if you know enough about what you're doing to know what --bare means, then you know enough to launch the terminal and write the clone command yourself. There are enough "computer illiterate" SourceTree users that providing a bare option in the GUI would be a BAD idea. ("I just cloned my repository, but I only have a .git folder!! Where are my files?!?! UNINSTALL!!!111") Those folks aren't going to "accidentally" go to the command line and "accidentally" add --bare to a valid clone command.

comments: author: Meldon Pettitt
body: I see. Thanks for the quick answer. Well, I won't waste your time with an explanation as to why I want to create a bare repository. It's not important as I understand what you're saying from a UI design standpoint. On the other hand a simple ability to add git options (for those with such understanding) to a clone command would've made the question unnecessary.

Yes, I can do it with the command line interface. Unfortunately, I'm being greeted with authentication request when my key has no password. Guess I need to resolve that issue first.

Thanks again, Seth.
SourceTree opens blank screen and you can't move past account login
Asked by Adaryl Wakefield:

When you open SourceTree the first time there is a series of set up screens. On the Atlassian account screen, when we hit "use an existing account", it will open a blank screen. I've disabled the firewall, the proxy, and the anti-virus. None of these will solve the issue. On top of that, we can't seem to be allowed to move past this screen. When we hit the other option to download the license, that doesn't seem to get us anywhere either.can't make it past this screen.png  
[](https://community.atlassian.com/t5/Sourcetree-questions/SourceTree-opens-blank-screen-and-you-can-t-move-past-account/qaq-p/156382?attachment-id=10627){#link_11688c631d17fd}  
[](/tnckb94959/attachments/tnckb94959/sourcetree-questions/4620/1/can't%20make%20it%20past%20this%20screen.png){#display_11688c631d17fd_0}


Answers:
author: davidfordaus
body: * Blank login (my issue) - related to a server install in which IE had never been opened and hence its default setup hadn't completed.
* Right-click the blank page and choose 'properties' to see if the page has loaded correctly. Resolve with IE or Fiddler


author: Adaryl Wakefield
body: Yes.


author: Seth
body: That looks like an IE error page. Are you able to navigate to my.atlassian.com in IE?