Search
👀

Diff - 코드 변경사항 비교하기

What is diff?\

코드의 변경사항을 추적하기 위해 실행하는 명령어
git 저장소에 영향을 행사하는 명령어는 아님, 단지 관찰
git diff
Bash
복사

How to see difference

--git a/filename
: 변경 전 파일 이름
++git b/filename
: 변경 후 파일 이름
@@ -3,4
: A 파일의 3번째 줄부터,
4개의 줄이 추출되었음
@@ +3,5
: B 파일의 3번째 줄부터.
5개의 줄이 추출되었음

커밋과 비교

1. Only unstaged  last commit

staging(add)되지 않은 변경사항 비교
git diff
Bash
복사

2. ALL  last commit

모든 변경사항 비교
git diff HEAD
Bash
복사

3. Only staged  last commit

staging(add)된 변경사항만 비교
git diff --staged
Bash
복사
git diff --cached
Bash
복사

4. 특정 파일만 비교하기

git diff HEAD filename
Bash
복사
git diff HEAD --staged filename
Bash
복사

Branch 간 코드 비교

git diff branch1..branch2 git diff branch1 branch2
Bash
복사
git diff branch1..branch2 filename #특정 파일만 비교
Bash
복사
branch1 → 파일 A
branch2 → 파일 B
git diff
Bash
복사

커밋 간 코드 비교

git diff commit1..commit2
Bash
복사
이떄 입력해야 하는 것은 커밋의 해시값이다
git log --oneline
Bash
복사
class LoginManager { func verify(phoneNumber: String) { PhoneAuthProvider.provider() .verifyPhoneNumber(phoneNumber, uiDelegate: nil) { verificationID, error in if let error = error { print("ERROR: \(error.localizedDescription)") } else { UserDefaults.standard.set(verificationID, forKey: "authVerificationID") } } } func loginWith(verificationCode: String, completion: @escaping (Error?) -> Void) { guard let verificationID = UserDefaults.standard.string(forKey: "authVerificationID") else { return } let credential = PhoneAuthProvider.provider().credential(withVerificationID: verificationID, verificationCode: verificationCode) Auth.auth().signIn(with: credential) { authResult, error in completion(error) } } } struct VerificationView: View { let loginManager = LoginManager() @State var phoneNumber: String = "" @State var verificationCode: String = "" var body: some View { VStack { HStack { TextField("Enter Your PhoneNumber", text: $phoneNumber) .padding() .background(.gray.opacity(0.2)) .cornerRadius(20) Button("전송") { loginManager.verify(phoneNumber: phoneNumber) } } HStack { TextField("Enter Your code", text: $verificationCode) .padding() .background(.gray.opacity(0.2)) .cornerRadius(20) Button("인증") { loginManager.loginWith(verificationCode: verificationCode) { error in if let error = error { print("ERROR: 로그인 에러 \(error.localizedDescription)") } else { print("DEBUG: 로그인 성공") } } } } } .padding() } } VerificationView() .onOpenURL { url in print("Received URL: \(url)") Auth.auth().canHandle(url) // <- just for information purposes }
Swift
복사