Commit a8bd536b authored by Gokul Das B's avatar Gokul Das B

2017-08-13.md: Elaborate the study topic

parent c0fd8d11
......@@ -19,11 +19,121 @@ Time : 2:00 PM
## Decision about meetings every week
- Arrangement for weekly meeting made at SPACE with Director, SPACE (Aji)
- Meetings are to be positively held every weekend. Key to SPACE is to be held by an FSUG member (Aji)
- Meetings are to be positively held every weekend.
Key to SPACE is to be held by an FSUG member (Aji)
- Agenda for next meeting are to be decided by the end of the current meeting (Gokul)
## Topics for next meeting
- Intermediate Git and Collaboration on GitLab (Gokul Das)
- Introductionm to Python (Aswin)
## Technical Session (Initial introduction)
- Install Git
- Make an account in GitLab
- Get membership in FSUG-TVM group
- Simple Introduction to Git
\ No newline at end of file
The meeting was primarily a technical learning session aimed at getting members familiar
with Git and GitLab. The first agenda was to get everyone signed up on gitlab and in
[FSUG-TVM GitLab group](https://gitlab.com/fsugtvm). All future experiments and social coding
projects of FSUG will be published in this group. The salient parts of the familiarization
program are listed below.
### Install Git
Git is a version control system that provides the following features:
- Recording of development history of your source code working tree
- Ability to revert back changes in case you need to do so
- Split the development into 'branches', so that different features
can be developed independantly
- Provision to collaborate in development and share code
Git is usually installable from the Linux distro's package repository. For example, in
Debian, it can be installed by the following command:
```shell
sudo apt-get install git-core
```
The immediate next step is to configure git with your developer user name and email address.
```shell
git config --global user.name "yourname"
git config --global user.email "yourname@mailserver.com"
```
The `--global` switch tells git that this command is for all your repositories, not just
the current one.
### Make an account in GitLab
GitLab, GitHub et.al are the centres of code sharing with git. Registering at GitLab can
be done directly on their login page, or you can sign in using another account like Google,
GitHub etc.
After signing up and logging in, you can change your [profile settings](https://gitlab.com/profile)
by clicking your profile icon at the top right corner of the GitLab page, and selecting
'Settings' from it. You should atleast add your developer email address.
To contribute code to GitLab projects, you need to setup SSH or HTTPS. HTTPS requires
a username and password during code upload. In case you didn't register directly on GitLab
(i.e, if you used single-sign-on with GitHub, Google etc), you need to add a password.
Within the GitLab profile page, password can be set by selecting password page on the left
side menu.
You could instead choose to use SSH instead. This has the advantage that you dont have to
type in username and password (as is the case with HTTPS) every time you want to push code
into GitLab. To setup the SSH, follow instructions [here](https://docs.gitlab.com/ce/ssh/README.html).
### Get membership in FSUG-TVM group
The [FSUG-TVM](https://gitlab.com/fsugtvm) group is currently owned by Athul R T. You may
contact him with your username to get added to the group.
### Simple Introduction to Git
Detailed and simple documentation for Git is available at [git-scm site](https://git-scm.com/)
- [A very good free ebook with tutorials](https://git-scm.com/book)
- [Reference Manual](https://git-scm.com/docs)
Some basic commands and operations were introduced.
To modify a project, you need to 'fork' the project on GitLab. This gives you your own
online copy (fork) of the original project. You can push your changes (commits) to this
fork. You can find the fork button on the repository page.
Now to get an offline local copy of the fork in your system, you could use the following
command:
```shell
git clone git@gitlab.com:your_user_name/meetings.git
```
You can then `cd meetings` and modify the files within. To see if something changed, use
command:
```shell
git status
```
You could view the 'origin' (which is a 'remote') of the repository with the command:
```shell
git remote -v
```
Git tells you that you have made changes which are not 'staged'. You can view these changes in
diff format using command:
```shell
git diff
```
You need to now stage the changes before you can commit. That is done using command:
```shell
git add names_of_files_changed
```
Once you have staged the files to commit, it can be committed with command:
```shell
git commit -m "Commit message as you require"
```
You can view the log of all commits using the command:
```shell
git log
```
Now to push these changes back to the 'origin':
```shell
git push
```
More detailed explanations were given at the meeting. More concepts will be introduced
in the next meeting.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment