In addition to some answers given in comments to this question (cf. Dealing with answers in comments.?), let me add that the following.
The Learning GAP section of the GAP website contains "a variety of material intended to help people to learn on their own the GAP language and the use of the GAP system".
Various tutorials, including the GAP Tutorial, are a good point to start, indeed. As for the reference manual, it is not assumed that one should read all its chapters sequentially. To start with, it may be worth to look at chapter titles to have a better idea of capabilities of the core GAP system, and look in more details on chapters which are most relevant to your current mathematical interests. Note that a lot of the functionality is contained in GAP packages which are developed independently and come with their own documentation.
It is also recommended to subscribe to the GAP Forum where you may find not only news about the GAP
system, but also discussions and questions from other users. Reading these may provide further insight into the system. Finally, if there are any questions, please do not hesitate to send them to the GAP Forum or GAP Support.
Update 1: I’ve recently developed the Software Carpentry lesson "Programming with GAP". This lesson is intended for GAP beginners and has been beta-tested at the Software Carpentry Workshop in Manchester in November 2015.
Update 2: This book has been mentioned in the comment above, but should be made more visible: Abstract Algebra in GAP by Alexander Hulpke. From its preface: "This book aims to give an introduction to using GAP with material appropriate for an undergraduate
abstract algebra course. It does not even attempt to give an introduction to abstract algebra —there
are many excellent books which do this.
Instead it is aimed at the instructor of an introductory algebra course, who wants to incorporate
the use of GAP into this course as an calculatory aid to exploration".