GIT actively uses Tags, branches, their creation and merge.
Well if you earlier precisely know where it is necessary to create branch or tag and where is necessary them merging.
Unfortunately there are cases when you should take advantage commit which is not the last in branch and have not a symbolical label (that is not tag).
It is possible to go a simple way, to find necessary to us commit and to copy the first some its symbols of SHA1, GIT can perfectly work and with such index on commit. The truth if a repository have a some commits with the identical beginnings, you should increase quantity of symbols of argument.
The main lacks it - need to be known precisely SHA1, the high probability of an error and for the beginner can demand a lot of time.
Developers of GIT perfectly understood that it not so conveniently for work and consequently they have developed some syntax, called to facilitate search a commit. But also this syntax is not trivial, therefore we have decided to help clients and have created "Revision construction". Using it it is possible to create the most difficult designs of audit using only logic and knowledge of structure of the project.
The created string of special construct will be displayed in top in the edit box and it always can be edited in the manual.
After any changes of parametres of the designer, it will search a demanded commit and results of search will be displayed under the string.
At opening of the editor, by default, offered will create a special construct on the basis of active branch.
Replace Base branch you can using a combo box 'Base branch' or simply having edited a name of branch in edit a field 'Base branch'.
If necessary to find a fixed commit, choose radio-button "SHA" and press the button "..." to the right of it, then will be opened the history window in which very conveniently to select a necessary commit.
TAG too can be base.
Further there are some manipulations with the base branch or the base Tag.
Having chosen point "Date", it is possible to receive a commit with date and time of creation before specified in a edit field.
If it is necessary to "recede" on some quantity of a commits from base branch/tag then you can use the point "Revision back" and in a edit field specify on how many generations it is necessary to recede back.
The point "Branches back" allows to choose a commit one of ancestors.
At the very bottom of dialog there is "Commits tree reference" area.
It is very flexible and universal tool of definition a commits.
Using "Add Parent" and "Add Grandparent" it is possible to create very difficult formulas and to define any ancestor of base branch, tag or commit.
First of all about names -
Parent - it is a serial number of one of ancestors participating in merge.
Grandparent - it is a depth (or quantity) immediate ancestors in branch.
You can learn more detailed about this tool here -
Git-rev-parse
And at last, Git allows to find automatically a commit at first its comment.
For this purpose open a bookmark "Commit text" and into an empty field type the beginning of the existing comment.
The designer will try to find the first commit with comment which begins with the phrase typed by you, the result as will be displayed on the form.
For work end press button "خي", dialogue of the designer will be closed, and the structure generated by you will be used in the basic dialogue for the further work.