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
복사