- #그레이트오션로드여행 #12사도바위 #멜번당일치기코스 #호주멜버른여행 #호주자연명소 #그레이트오션로드투어 #greatoceanroad #twelveapostles #melbournedaytrip
- #springboot #스프링부트 #springframework #스프링프레임워크 #dependencyinjection #의존성주입 #inversionofcontrol #제어의역전 #bean #빈 #component #컴포넌트 #service #서비스 #repository #리포지토리 #applicationcontext #애플리케이션컨텍스트 #configuration
- #gapyeongtrip #morningcalmgarden #rainydayvibes #flowerlover #springgarden #tulipseason #healingtravel #solotravelspot #koreanature #photospotkorea #gardenwalk #rainydaydate #springinkorea #travelkorea
- #restapi #restfulapi #웹개발 #백엔드개발 #api설계 #웹서버 #서버통신 #프론트백엔드연동 #api란 #개발자공부 #코딩기초 #http요청 #json데이터
- #도째비골 #동해가볼만한곳 #강원도여행 #감성여행지 #힐링여행 #국내여행추천 #동해바다 #바다뷰맛집 #강원도핫플 #말똥도나쓰 #mz감성카페 #포토존맛집 #데이트코스추천 #사진찍기좋은곳 #바다전망카페
- #싱가포르여행 #가든스바이더베이 #마리나베이샌즈 #머라이언파크 #창이공항주얼 #야경맛집 #야경명소 #라떼아트카페 #싱가포르인증샷 #mrt여행 #여자혼자여행 #감성사진 #트래블로그
- #스프링부트 #자바웹개발 #스프링프레임워크 #자바서블릿 #웹개발입문 #마이바티스 #타임리프 #스프링보안 #자바서버 #스프링mvc #자바ee #maven #pom파일 #웹애플리케이션 #웹아키텍처 #http요청응답 #restfulapi #spring초보 #spring강의 #springinitializr사용법
- #개발공부 #api기초 #신입개발자
- #가평카페 #월송카페 #가평감성카페 #유러피안로스터리 #가평데이트코스 #가평빵맛집 #가평핫플 #가평풍경맛집 #감성카페 #한옥카페 #가평브런치 #가평여행 #감성충전 #카페추천 #힐링카페 #mz감성카페
- #java #spring #springboot #스프링부트 #자바 #웹개발 #백엔드 #backend #프로그래밍 #개발자 #개발공부 #코딩공부
- #koreatravel #eastsea #hiddengemkorea #oceanview #travelvibes #koreanseaside #instagramspot
- #스프링부트 #springboot #mybatis #스프링시큐리티 #orm #자바웹개발 #웹보안 #회원가입 #로그인인증 #데이터베이스설계 #웹개발자 #코딩블로그 #백엔드개발 #springsecurity #javaorm #해싱 #암호화 #웹앱보안 #jdbc #hashing #authentication #onionarchitecture
- #gapeongcafe #wolsongcafe #koreacafe #aestheticcafe #coffeelovers #europeanroastery #koreatravel #hiddenplaceseoul #mzstyle #healingvibes #hanokcafe #brunchspot #coffeetime #cafestagram #calmvibes
- #springboot #javawebdevelopment #javaservlet #springframework #springmvc #thymeleaf #springsecurity #mybatis #javaee #httprequests #restapi #mavenbuild #webapplicationarchitecture #warvsjar #dependencyinjection #ioc #springinitializr #javabackend #webserv
- #springboot #springboot기초 #스프링부트강의 #springioc #di #의존성주입 #springmvc #스프링mvc #springsecurity #springdata #springjpa
- 너티브루키 #인천카페 #인천디저트 #디저트 #디저트맛집 #두바이초콜릿 #바클라바 #카페 #맛집
- #가평여행 #아침고요수목원 #수목원데이트 #비오는날감성 #튤립명소 #서울근교여행 #가평데이트코스 #꽃구경명소 #비오는날힐링 #감성사진맛집 #자연힐링 #봄꽃명소 #비오는날데이트 #혼자여행추천 #사진스팟추천
- #springboot #springmvc #thymeleaf #javawebdevelopment #webapplication #modelviewcontroller #htmltemplates #formhandling #springcontroller #backenddevelopment #javadeveloper #springboottutorial #프로그래밍 #자바 #웹개발 #스프링부트 #자바웹개발
- #평창카페 #감성카페추천 #강원도카페투어 #평창카페게리짐 #자연속카페 #빈티지카페 #유럽감성카페 #디저트맛집 #평창여행 #강원도드라이브 #분위기좋은카페 #평창감성여행 #30대여자여행 #40대여자취향저격 #감성맛집 #카페추천 #강원도핫플 #티스토리카페후기
- #cafegerizim #vintagecafe #pyeongchangcafe #koreacafe #cafetour #hiddencafe #dessertcafe #naturecafe #healingplace #vintagestyle #countrysidevibes #peacefulspot #cozyvibes #afternoontea #cafelovers
- #git #깃 #git설치 #git초기설정 #git사용법 #버전관리 #versioncontrol #분산버전관리 #distributedversioncontrol #dvcs #중앙집중버전관리 #centralizedvcs #git기본개념 #git기초 #git초보 #commit #커밋 #repository #저장소 #branch #브랜치 #sha #sha해시 #stagingarea #스테이징영역 #workingdirect
- #java #자바 #개발자 #신입개발자 #restapi #스프링부트 #스프링데이터jpa #h2데이터베이스 #dogrestapi #springboot #springdatajpa #h2database
- #restapi #restful #webdevelopment #backenddevelopment #apiintegration #apiarchitecture #webserver #databaseconnection #httprequests #jsondata #frontendbackend #webapplication
- #테스트개발 #junit사용법 #qa #자바단위테스트 #스프링통합테스트 #테스트자동화 #자바 #java #자바개발 #신입개발자 #개발포트폴리오
Daily stories on Tech • Beauty • Travel
What is Version Control? 본문
What is Version Control?
VCS Info
There are a number of Version Control Systems out there. This alone should prove that version control is incredibly important. Three of the most popular version control systems are :
There are two main types of version control system models :
- the centralized model — all users connect to a central, master repository
- the distributed model — each user has the entire repository on their computer
Further Research
Terminology
Version Control System / Source Code Manager
A version control system (abbreviated as VCS) is a tool that manages different versions of source code. A source code manager (abbreviated as SCM) is another name for a version control system.
Git is an SCM (and therefore a VCS!). The URL for the Git website is https://git-scm.com/ (see how it has “SCM” directly in its domain!).
Commit
Git thinks of its data like a set of snapshots of a mini filesystem. Every time you commit (save the state of your project in Git), it basically takes a picture of what all your files look like at that moment and stores a reference to that snapshot. You can think of it as a save point in a game — it saves your project’s files and any information about them.
Everything you do in Git is to help you make commits, so a commit is the fundamental unit in Git.
Repository / repo
A repository is a directory which contains your project work, as well as a few files (hidden by default on Mac OS X) which are used to communicate with Git. Repositories can exist either locally on your computer or as a remote copy on another computer. A repository is made up of commits.
Working Directory
The Working Directory is the files that you see in your computer’s file system. When you open your project files up on a code editor, you’re working with files in the Working Directory.
This is in contrast to the files that have been saved (in commits!) in the repository.
When working with Git, the Working Directory is also different from the command line’s concept of the current working directory which is the directory that your shell is “looking at” right now.
Checkout
A checkout is when content in the repository has been copied to the Working Directory.
Staging Area / Staging Index / Index
A file in the Git directory that stores information about what will go into your next commit. You can think of the staging area as a prep table where Git will take the next commit. Files on the Staging Index are poised to be added to the repository.
SHA
A SHA is basically an ID number for each commit. Here’s what a commit’s SHA might look like: e2adf8ae3e2e4ed40add75cc44cf9d0a869afeb6.
It is a 40-character string composed of characters (0–9 and a–f) and calculated based on the contents of a file or directory structure in Git. “SHA” is shorthand for “Secure Hash Algorithm”. If you’re interested in learning about hashes, check out our Intro to Computer Science course.
https://www.youtube.com/watch?v=rFtUkk-sCqw
Branch
A branch is when a new line of development is created that diverges from the main line of development. This alternative line of development can continue without altering the main line.
Going back to the example of save point in a game, you can think of a branch as where you make a save point in your game and then decide to try out a risky move in the game. If the risky move doesn’t pan out, then you can just go back to the save point. The key thing that makes branches incredibly powerful is that you can make save points on one branch, and then switch to a different branch and make save points there, too.
Installing Git
Git is actually installed on MacOS, but we’ll be reinstalling it so that we’ll have the newest version:
- go to https://git-scm.com/downloads
- download the software for Mac
- install Git choosing all of the default options
Once everything is installed, you should be able to run git on the command line. If it displays the usage information, then you're good to go!
Configuration Steps
To configure the terminal, we’ll perform the following steps:
- download the zipped file from the Resources pane, or the bottom of this page
- move the directory udacity-terminal-config to your home directory and name it .udacity-terminal-config (there's a dot at the front, now!)
- move the bash_profile file to your home directory and name it .bash_profile (there's a dot at the front, now!)
- if you already have a .bash_profile file in your home directory, transfer the content from the downloaded bash_profile to your existing .bash_profile
First Time Git Configuration
Before you can start using Git, you need to configure it. Run each of the following lines on the command line to make sure everything is set up.
# sets up Git with your name
git config --global user.name "<Your-Full-Name>"
# sets up Git with your email
git config --global user.email "<your-email-address>"
# makes sure that Git output is colored
git config --global color.ui auto
# displays the original state in a conflict
git config --global merge.conflictstyle diff3
git config --list
Git & Code Editor
The last step of configuration is to get Git working with your code editor. Below are three of the most popular code editors. If you use a different editor, then do a quick search on Google for “associate X text editor with Git” (replace the X with the name of your code editor).