lab 1: trello & git · hellogit.txt added to remote repository. basic work flow 1. git init 2....

Post on 27-Jul-2020

7 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Lab 1: Trello & Git

Software Engineering Lab

CSE4006: Software Engineering

Except where otherwise noted, the contents of this document are Copyright 2017 Gayeon Kim, Gwanggyu Choi,Youn-geun Ahn and Scott Uk-Jin Lee All rights reserved. Any redistribution, reproduction, transmission, orstorage of part or all of the contents in any form is prohibited without author’s expressed written permission.

Trello

Sign up

https://trello.com/signup

Create a new team & board

• After Log in

Click

Create a new team & board

• Create a new Team

Click

Input Team name

Input Description(Optional)

Create a new team & board

• Create new Board

Click

Input Board title

Click

Board

Add new List & Card

• Create a new List

Add new List & Card

• Create a new Card

Click

Input Card Name

Click

Card

• Card Structure

Description

Add Comment

OtherElements

ActionsComments

Move Card & List

• Drag & Drop

Move Card

Move List

Store the Card & List

• Move List to ‘Archive’

Click

Click

Store the Card & List

• Move Card to ‘Archive’

Click

Delete or Restore ‘Archived Items’

Click

Click

Delete or Restore ‘Archived Items’

Archived Cards Archived Lists

Exercise 1: My Favorite Things

1. Create a new board(My Favorite Things)

2. Create new Lists(Food, Music, Movie, Hobby)

3. Add new Cards to the Lists

4. Add Labels to the Food Cards

5. Add Lyrics(Comment) to the Music Cards

6. Add Image(Attachment) to the Movie Cards

7. Add Checklist and Due Date to the Hobby Cards

8. Delete a Music Card

You can see the Example board(https://trello.com/b/EW9ILdAa)

Exercise 1: My Favorite Things• Example

Exercise 1: My Favorite Things• Example(Label)

Exercise 1: My Favorite Things• Example(Checklist & Due Date)

Git

VCS(Version Control System)

Database for ‘Version’

Why use VCS?

• Collaboration

• Backup

• Tracking source code

• Tracking what happened

• Reduce side-effect when you develop a new module

Centralized Version Control

Remote Team Repository(SVN)

Work Space(PC)

Distributed VC(Team-Scale)

Work Space(PC)

Remote Team Repository(Github)

LocalRepository(PC)

Distributed VC(Project-Scale)

Remote Project Repository(Github)

Remote Team Repository(Github)

Local Repository(PC)

Local Repository(PC)

Git Workflow

(Staging Area)

Git Install

• OS X• http://sourceforge.net/projects/git-osx-installer/

• Windows• http://msysgit.github.com/

• Linux• $ apt-get install git

Github

• Sign up https://github.com

Github

• Sign up

Must use hanyang.ac.kr(for private repository)

Click

Github

• Sign up

Click

Github Education

https://education.github.com/pack

Click

Github Education

https://education.github.com/pack

Click

Github Education

Click

Github

• Create new remote repository

Click (if you are already registered in GitHub)

Click (if you are new GitHub user)

Github

Check to Private

Repository Name

Check

Click

Github

Remote Repository URL

Git - Work Space

git init

Set current directory to Git work space

Git - Work Space

git config

git config sets your user information which is used for authentication to access private remote repository.

Git - Work Space

git remote add / git pullNaming Remote Repository(my_remote_repo https://github.com/frebern/SE-2017.git)

Pull from my_remote_repo‘s master branch

README.md pulled.* Pull = Fetch + Merge(i.e. Receive current remote repository

+ Merge them to my local repository)

Git - Staging Area

.git

‘.git’ has index of files and changes.

Git - Staging Area

Display current HEAD commit& Tracked/Untracked files

git status

Git - Staging Area

Add file to Staging Area(index)

git add

Git - Local Repository

git commit

Commit all added changes & save to Local Repository

Git - Remote Repository

git push

Push Local Repository to Remote Repository

HelloGit.txt added to Remote Repository

Basic Work Flow

1. git init

2. git remote add [repoName] [url]

3. git pull [repoName] [branch(e.g. master)]

4. Working…

5. git add *

6. git commit –m “commit message”

7. git push [repoName] [branch(e.g. master)]

8. Repeat 3~7

Exercise 2

1. Create an remote repository

2. Pull remote repository to your workspace.(if you can’t pull them, try --allow-unrelated-histories option)

3. Create a program if you input “1” then print your name.

4. Add & Commit to local repository

5. Push them to remote repository(if you can’t push them, try -f option)

6. Add function which print your introduce when you input “2”

7. Update your remote repository

8. Add TA to Collaborator of your repository(AhnYounGeun)

It’s double dash - -

See ‘Setting’ tab

Exercise 2

8. Add TA to Collaborator of your repository(AhnYounGeun)

+ Bonus

• Codes can version controlled by git easily.

• But, when you use documents(.doc, .key, …), it’s quite difficult to version control.

Can’t see document.docx

+ Bonus

• We need to do tracking who changes which line of docs at SE project.

• Then, How can we achieve this?(You don’t need to entangle with git or GitHub)

• Upload your own opinion to your GitHub repository.(There may exist various solutions.)

top related