<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Calculator</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="calculator">
<div class="display" id="display"></div>
<div class="buttons">
<button class="button AC" onclick="clearDisplay()">AC</button>
<button class="button" onclick="deleteLast()">DEL</button>
<button class="button sign" onclick="appendToDisplay('/')">/</button>
<button class="button" onclick="appendToDisplay('7')">7</button>
<button class="button" onclick="appendToDisplay('8')">8</button>
<button class="button" onclick="appendToDisplay('9')">9</button>
<button class="button sign" onclick="appendToDisplay('*')">*</button>
<button class="button" onclick="appendToDisplay('4')">4</button>
<button class="button" onclick="appendToDisplay('5')">5</button>
<button class="button" onclick="appendToDisplay('6')">6</button>
<button class="button sign" onclick="appendToDisplay('+')">+</button>
<button class="button" onclick="appendToDisplay('1')">1</button>
<button class="button" onclick="appendToDisplay('2')">2</button>
<button class="button" onclick="appendToDisplay('3')">3</button>
<button class="button sign" onclick="appendToDisplay('-')">-</button>
<button class="button zero" onclick="appendToDisplay('0')">0</button>
<button class="button" onclick="appendToDisplay('.')">.</button>
<button class="button sign" onclick="calculateResult()">=</button>
</div>
</div>
<script src="script.js"></script>
</body>
</html>
git status
git add [파일명]
git add index.html
git status
git commit
git status
- nothing to commit, working tree clean : 커밋할 파일이 없다는 뜻입니다. Working Directory의 파일들이 Unmodified 상태임을 나타냅니다. index.html 파일을 만들고 코드를 작성한 내역을 기록했기 때문입니다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Calculator</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="calculator">
<div class="display" id="display"></div>
<div class="buttons">
<button class="button AC" onclick="clearDisplay()">AC</button>
<button class="button" onclick="deleteLast()">DEL</button>
<button class="button sign" onclick="appendToDisplay('/')">/</button>
<button class="button" onclick="appendToDisplay('7')">7</button>
<button class="button" onclick="appendToDisplay('8')">8</button>
<button class="button" onclick="appendToDisplay('9')">9</button>
<button class="button sign" onclick="appendToDisplay('*')">*</button>
<button class="button" onclick="appendToDisplay('4')">4</button>
<button class="button" onclick="appendToDisplay('5')">5</button>
<button class="button" onclick="appendToDisplay('6')">6</button>
<button class="button sign" onclick="appendToDisplay('+')">+</button>
<button class="button" onclick="appendToDisplay('1')">1</button>
<button class="button" onclick="appendToDisplay('2')">2</button>
<button class="button" onclick="appendToDisplay('3')">3</button>
<button class="button sign" onclick="appendToDisplay('-')">-</button>
<button class="button zero" onclick="appendToDisplay('0')">0</button>
<button class="button" onclick="appendToDisplay('.')">.</button>
<button class="button sign" onclick="calculateResult()">=</button>
</div>
</div>
<script src="script.js"></script>
</body>
</html>
첫번째 이력 만들기
git status
git add [파일명]
git add index.html
git status
git commit
git status
- nothing to commit, working tree clean : 커밋할 파일이 없다는 뜻입니다. Working Directory의 파일들이 Unmodified 상태임을 나타냅니다. index.html 파일을 만들고 코드를 작성한 내역을 기록했기 때문입니다.

Working Directory(물리적 공간)
Staging Area(가상 공간)
Repository(가상 공간)
정리
- 수정, 추가 이력을 기록하기 위해 스테이징(git add)과 commit 두 단계를 거쳐야 합니다.

- Untracked : 저장소에서 관리하지 않는 파일들의 상태
- 저장소에 새로운 파일이 추가된 경우
- Tracked : Git이 추척하는 파일
- commit 명령어로 이력이 생긴 파일

- Staging Area이 필요한 이유는?
- 일부 파일만 커밋할 때
- 충돌을 수정할때
- 커밋을 수정할 때
### 정리
- Git의 작업 영역 : Working Directory, Staging Area, Repository
- Git 파일의 상태 : Modified, Staged, Committed
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
background-color: #f7f7f7;
margin: 0;
font-family: 'Arial', sans-serif;
}
.calculator {
background-color: #fff;
border-radius: 10px;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
width: 300px;
}
.display {
background-color: #222;
color: #fff;
font-size: 2em;
padding: 20px;
text-align: right;
height: 40px;
}
.buttons {
display: grid;
grid-template-columns: repeat(4, 1fr);
grid-gap: 1px;
}
.button {
background-color: #f0f0f0;
border: none;
padding: 20px;
font-size: 1.5em;
cursor: pointer;
transition: background-color 0.2s;
}
.button:hover {
background-color: #ddd;
}
.AC {
grid-column: span 2;
}
.zero {
grid-column: span 2;
}
.sign {
background-color: #4caf50;
color: #fff;
}
.equal:hover {
background-color: #45a049;
}const display = document.getElementById('display');
function clearDisplay() {
display.innerText = '';
}
function deleteLast() {
display.innerText = display.innerText.slice(0, -1);
}
function appendToDisplay(value) {
display.innerText += value;
}
function calculateResult() {
try {
display.innerText = eval(display.innerText);
} catch {
display.innerText = 'Error';
}
}git status : 저장소의 상태 정보 출력
git add [파일 이름] : 해당 파일을 Staging Area에 올리기
git add [디렉터리 이름] : 해당 디렉터리 안에 수정된 모든 파일을 Staging Area에 올리기
git add . : Working Directory 안에 추가, 수정된 모든 파일을 Staging Area에 올리기
git commit : 이력 저장, 커밋
git commit -m “[메시지]” : vim을 사용하지 않고 인라인으로 메시지를 추가하여 커밋
git commit -am “[메시지]” : git add와 git commit을 한꺼번에 명령(Untracked 파일은 제외)
Working Directory(물리적 공간)
Staging Area(가상 공간)
Repository(가상 공간)
정리
- 수정, 추가 이력을 기록하기 위해 스테이징(git add)과 commit 두 단계를 거쳐야 합니다.

Untracked : 저장소에서 관리하지 않는 파일들의 상태
Tracked : Git이 추척하는 파일
- commit 명령어로 이력이 생긴 파일

Staging Area이 필요한 이유는?
- 일부 파일만 커밋할 때
- 충돌을 수정할때
- 커밋을 수정할 때
Git의 작업 영역 : Working Directory, Staging Area, Repository
Git 파일의 상태 : Modified, Staged, Committed
두번째 이력 남기기
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
background-color: #f7f7f7;
margin: 0;
font-family: 'Arial', sans-serif;
}
.calculator {
background-color: #fff;
border-radius: 10px;
box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
width: 300px;
}
.display {
background-color: #222;
color: #fff;
font-size: 2em;
padding: 20px;
text-align: right;
height: 40px;
}
.buttons {
display: grid;
grid-template-columns: repeat(4, 1fr);
grid-gap: 1px;
}
.button {
background-color: #f0f0f0;
border: none;
padding: 20px;
font-size: 1.5em;
cursor: pointer;
transition: background-color 0.2s;
}
.button:hover {
background-color: #ddd;
}
.AC {
grid-column: span 2;
}
.zero {
grid-column: span 2;
}
.sign {
background-color: #4caf50;
color: #fff;
}
.equal:hover {
background-color: #45a049;
}세번째 이력 남기기
const display = document.getElementById('display');
function clearDisplay() {
display.innerText = '';
}
function deleteLast() {
display.innerText = display.innerText.slice(0, -1);
}
function appendToDisplay(value) {
display.innerText += value;
}
function calculateResult() {
try {
display.innerText = eval(display.innerText);
} catch {
display.innerText = 'Error';
}
}