승인.
다시 오신 것을 환영합니다.
그래서 마지막 비디오에서 우리는 네 개의 새로운 명령이 그 상태에 있다는 것을 보았습니다. 매우 유용한 모든 것을 추가하고 저지하십시오. 항상 추가하고 커밋하십시오. 그러나 우리가 할 수있는 모든 것들은 파일을 추가하고 커밋하는 것입니다.
기본적으로 저장하면 작은 체크 포인트가 만들어져 이전 코드로 돌아갑니다.
우리는 두 가지 새로운 명령을 보게 될 것입니다.
로그인을 얻으려면 체크 아웃하십시오. 실제로 몇 가지를 보여 드리지만이 두 가지만큼 필수적이지는 않습니다.
그래서 입력하면 같은 폴더에 있습니다.
우리와 함께 시작합시다.
유형 획득 상태에 대한 세 개의 파일이 있음을 알 수 있습니다.
나는 어떤 변화도하지 않았고 만약 내가 그들을 다시 여는 사람들을 보았 더라면.
사실 C-9.
고양이와 개를 보자.
너를 보여주기 전에 너는 그걸 같이 묶을 수 있을지 모르겠다.
승인.
그래서 우리는 개들이 비어있는 세 파일을 가지고 있습니다.
괜찮아.
이 앱이 거대한 앱이라고 가정하고 어떻게 든 엉망진창으로 만들면 오류가 발생합니다.
그래서 나는 잘못된 일을하고 내 코드는 더 이상 작동하지 않습니다.
그리고 다시 큰 앱 인 것처럼 보이며 문제가 무엇인지 알지 못하거나 어쩌면 내가 뭘 하려는지 알지 못한다.
나는 그것을 실제로 좋아하지 않는다.
내 옛 버전으로 돌아 가자.
따라서 가장 먼저 할 일은 로그인 입력입니다. 그러면이 repo에서 작성한 모든 커밋의 기록 또는 로그가 제공됩니다.
그래서 빠른 메모.
그것은 새로운 종류의 터미널 인터페이스를 열었습니다. 입력을 누르면 실제 스크롤을 할 수 있습니다. 위쪽 화살표를 사용하여 스크롤 할 수도 있지만 지금 당장 일반 명령을 입력 할 수는 없습니다.
커서가 조금 바뀌 었는지 확인하십시오.
저주가 있거나 여기서 빠져 나올 결장이 있습니다.
Q를 입력하면 로그 가져 오기가 가능합니다.
그리고 처음부터 시작합시다.
그래서 바닥에.
제일 먼저 한 것은 내가 작성한 날짜와 내가 실행 한 코드를 작성자가 볼 수 있습니다. 메시지를 추가하면 X 파일이 추가됩니다.
그리고 나서 다음 파일은 캐치 파일을 추가 한 다음 고양이와 개 파일에 나를 추가합니다.
그리고 우리도 파일을 업데이트했다는 것을 알았습니다.
그렇습니다. 그렇지만 그들은 정말로 중요하지만 메시지를 가지고 있습니다.
그리고 그들은 잠시 후 다시 돌아 오는 경우 코드를 다시 방문하는 경우 특히 설명이 필요합니다.
그러나 지금까지 가장 중요한 부분은 우리가 실행하는 실제 명령에 관한 것입니다.
실제로 커밋 메시지를 다시 입력하지 않습니다.
그들은 단지 인간을위한 것입니다.
그러나 컴퓨터를위한 중요한 부분은이 긴 문자열에 대한 해시 커밋입니다.
고유 식별자이기 때문에 정말 중요합니다.
그래서 다시 돌아가고 싶다면 처음부터 코드를보고 싶은데 시간이 지나면 앱 파일을 다시 추가하십시오.
내가 필요해.
그래서 저는 그것을 복사 할 것입니다.
내가 방금 앱 파일을 cat 파일에 dugs 파일을 만들 때까지 줄곧 되돌아 가고 싶다고 가정 해 봅시다.
이 명령을 여기 C 명령으로 복사하고 Q를 눌러 나가고 새 명령을 보게됩니다.
또는 체크 아웃 된 두 번째 새 명령.
그래서 나는 체크 아웃을 입력하고 이것은 매우 다양한 명령입니다.
그것은 많은 다른 것들에 사용되지만 일반적 아이디어는 그것이가는 지 다른 것을 보거나 분기인지 아니면 이전 커밋인지 여부를 확인하는 데 사용된다는 것입니다.
우리는 가지에 관해서는 말하지 않았지만 가지를 바꾸기 위해 종종 그렇게 사용되었습니다.
그래서 우리는 체크 아웃 한 다음 그 긴 문자열을 붙이고 입력을해야합니다.
실제로 그렇게하기 전에 저를 빠져 나오게하고 유형을 입력하십시오.
내가 본 첫 번째 일은 내 앱에서 변화를 만들었다는 것입니다. 괜찮습니다.하지만 커밋하지 않았습니다. 추가하지 않았습니다.하지만 더 중요한 것은 지점 마스터에게 다시 말했습니다. 다시 말해서 어떤 지점이 있는지 모릅니다. 그러나 지금 당장 여러분이 알아야 할 것은 주인이 우리의 본거지라는 것입니다.
그래서 우리가 한 모든 일은 스승님 께 달려 있습니다.
승인.
그리고 나는 또한이 작은 명령 프롬프트에서 여기에 프롬프트를받습니다.
이제 명령을 실행하면 잃어버린 것처럼 보입니다.
다시 입력하십시오.
체크 아웃하고 붙여 넣은 다음 Enter 키를 누릅니다.
먼저 보게 될 것은 커밋되지 않은 변경 사항이 있다는 것입니다.
그리고 만약 내가 여기로 돌아 가면 이것들을 체크하면 그 변화를 잃을 것입니다.
한 번에 많은 것을 추적 할 수 있기 때문입니다.
그래서 저는 지금 약간의 변화가 있습니다.
내가 만들었고 얻은이 한 줄이 그걸 지켜보고 있습니다. 당신이 이것을 저에게 맡기고 싶습니다.
하지만 이전 코드로 돌아가서 더 이상이 코드를 알 수 없습니다.
그래서 당신이 돌아 오기 전에 기본적으로 경고합니다.
당신은 아마도이 파일을 추가하고 커밋하거나 완전히 삭제해야합니다. 그래서 그냥 덮어 쓰면 상관 없습니다.
광고 애플리케이션을 만들 겠지만 커밋에 추가 할 것입니다.
네, 내 커밋 메시지는 커밋 할 상태를 얻지 못하게하는 앱 파일을 망칠 것입니다.
아직도 지점 주인입니다.
이제 다시 시도해 보도록하겠습니다.
이번에는 훨씬 더 긴 메시지를 얻습니다.
가장 중요한 것은 더 이상 여기에 스승님의 말씀이 없다는 사실입니다.
너무 길기 때문에 잘 렸습니다.
하지만 내가 그 상태를 입력하면 나는 머리가 5 C d d에서 떼어 놓은 것을 보게됩니다.
그 해시의 시작은 무엇입니까.
좋습니다. 제 생각에 이것은 매우 훌륭합니다.이 용어 머리를 정말로 혼란스럽게 만듭니다.
개발자를 비롯한 대부분의 사람들에게 항상 혼란 스럽습니다.
그것은 기본적으로 포인터입니다.
그들은 그것을 공간이나 시간의 포인터로 현재의 당신이있는 장소에주고 당신은 시간을두고 앞뒤로 움직이기 위해 그것을 움직일 수 있습니다.
중요한 것은 우리가 더 이상 스승이 아니란 것입니다.
그래서 우리가 한 일은 우리가 돌아가서 근본적으로 우리가 코드의 이전 버전을 검사하고 있음을 확인하는 것입니다.
그래서 LS를 타이핑하면 이것에 대해 꽤 멋있습니다.
여기에 하나의 파일 만 있습니다.
그래서 내가 오래된 코드를 체크 아웃했을 때 돌아 왔을 때, 그것은 기본적으로 나를 다시 되돌려 놓았습니다. 다시 저를 데려갔습니다.
하지만 내가 체크 아웃 할 때 체크 아웃 한 다음 이름을 커밋 해시를하면 현재 흐름이나 정상적인 정상적인 워크 플로에서 제외된다는 점에 유의해야합니다.
헤드가 분리되었다고 말하는 이유입니다.
그래서 당신이 상상할 경우, 우리의 역사는 이러한 쇼의 각 하나가 커밋 일 때와 같은 일종의 타임 라인과 같은 역사를 가지고 있습니다.
몇 가지 더 할 수 있습니다.
승인.
오 ~ 이런.
우리는 거기에 갈.
그래서 이들 각각은 우리가 저지른 시점의 일종이며 일종의 직선적 인 목록에 있습니다. 여기서 우리는 그것을 시작했고 다시 커밋을했습니다.
그리고 이것에 대한 흐름이 있습니다.
이것이 우리가 마지막으로 저지른 곳입니다.
이것은 적어도 현재 알려진 것이지만 마스터가 그렇게 명백한 곳입니다 Master 이것은 우리가 체크 아웃 명령을 내리기 전에 있던 곳입니다.
그 때 나는 체크 아웃을하고이 커밋을 실행했고 그것은 우리의 첫 번째 커밋을 믿는 데 다시 나를 데려 갔고 그것은 커밋 메시지에서 머리가 분리되었다고 우리에게 말했습니다.
그래서 그것은 스승이 여전히 여기에 있음을 의미합니다.
우리는이 주인을 다시 움직이지 않았습니다.
우리가 해낸 일은 거기에 보관되어 있지만 우리는 머리를 떼어 냈습니다.
그리고 나는 이것이 매우 혼란 스럽다고 생각합니다.
중요한 것은 기본적으로 바로 여기있는 것의 아이디어에 기본적으로 추가 된 것입니다.
구문 강조를 변경 한 이유는 확실하지만 머리는 여기에 있습니다.
하지만 여기서 끝내지 않아서 끝나지 않은 사업이 있습니다.
그래서 우리가해야 할 일은 전적으로 우리에게 달려 있습니다.
일반적으로 체크 아웃을 사용하면 이전 코드를 확인한 다음 이전 위치로 돌아가려면 일부 오래된 변경 사항을 살펴 보는 것입니다.
그래서 우리가 가지고있는 코드에서 멈춤 버튼을 누르는 것으로 생각한 다음 우리가 지금있는 곳에있는 이전 코드를 체크 아웃 한 다음 아마 우리가 한 줄 또는 두 줄을 복사 할지도 모릅니다. 오래된 코드를 살펴본 다음 마스터로 돌아가서 머리 감지 문제를 해결할 것입니다.
정말 문제는 아니지만, 제 앱에서 지금 변경을 시작하면 제임스와 나는 추가하고 커밋하여 문제가 될 것입니다. 문제가되는 것은 내가해야할 일을 알고 있기 때문입니다. 여기에 우리가 머리를 가지고 있습니다.
우리는 결정을 내릴 것입니다.
그래서 보통 우리가하는 일은 검사 된 것을 조사하는 것입니다.
좀 봐 코드를보고 다시 마스터로 이동하십시오.
때로는 이전 버전으로 되돌아 가서 되돌리기를 원합니다.
기본적으로 돌아가서 그냥 체크 아웃하기보다는 그 시점에 시작하는 것을 의미합니다.
그래서 내가하기 전에 당신이 어떻게 마스터에게 돌아가는지 보여 드리겠습니다.
이렇게 다시 상태가되면 우리는이 긴 문자열에서 분리되었다고 말합니다.
나는 할 수 있었다.
좋은.
마스터를 확인하십시오.
그리고 그것은 저를 앞으로 시간이 걸리게합니다.
그리고 이제 내가 그 파일들을 다시 보았을 때 나는 ls를 입력했고 이제이 세개의 파일을 가지고 있고 다시 입력하면 상태를 얻습니다.
브랜치 마스터입니다.
그래서 우리는 뒤로 약간의 여행을했다.
우리 중 절반은 동료였습니다.
우리 중 절반이 거기에 돌아 왔고 우리는 주인에게 돌아 갔고 모든 것이 다시 행복해졌습니다.
괜찮아.
하지만 다시 돌아가고 싶다고 가정 해 봅시다. 개 파일을 추가하기 전에 로그를 가져 오도록 되돌리려합니다.
그래서 우리는 catch 파일에 추가 한 메시지를 커밋합니다.
그래서 우리는 고양이와 app 파일을 가지고 있어야하고 나는 그걸로 돌아가고 싶다.
그래서 나는 그것을 조사하고보고 싶지는 않지만 실제로 그 코드를 그 상태를 반영하고 싶습니다.
나는 우리가 개 파일없이 다시 시작했다는 것을 되 돌리는 새로운 커밋을 추가하려고합니다.
그래서 당신이 소설의 큰 부분을 알게 해 버렸거나 사용자 인증에 추가하기 전에 또는 부트 스트랩에 추가하기 전에 돌아가서 다시 돌아가서 다시 시작하기를 원하는 경우와 같습니다.
그 시점에서 불행한 것은 여기에 많은 방법이 있다는 것입니다.
그리고 실제로 그 중 일부를 보여주기 전에 저는 그 중 하나만 보여 드릴 것입니다.
그러나 그 전에 개발자가 사용하는 방법에 대한 설명을 추가하고 싶습니다.
대부분의 개발자와 이것은 확실히 일반화되어 있지만 대부분의 개발자들은 상태에 대해 이야기하고있는 일반적인 워크 플로에 매우 만족하고 있습니다. 커밋 상태를 추가하고 개발자가 분기를 통해 작업 할 내용을 반복해서 확인합니다.
그러나 이전 코드로 돌아가서 변경 사항을 삭제하기 위해 무언가를 실행 취소하는 것이 무엇이든지 실제로는 그렇게하지 않는 것입니다.
특히 더 큰 팀에있을 때 현재 코드를 아는 것이 매우 드뭅니다.
그것은 결코 일어나지 않는다는 것이 아닙니다.
그러나 그런 종류의 일은 표준이 아닙니다.
그리고 나는 대부분의 개발자들이 그것을 어떻게 해야할지 모르거나 그것의 한 가지 방법을 알지만 5 가지 또는 10 가지의 다른 방법이 있다고 말할 수 있습니다.
따라서 사람들이 사용하는 방식은 많은 기본 사항에 익숙하다는 것입니다.
빵과 버터는 실제로 5 ~ 7 개의 명령을 사용합니다.
그리고 언젠가 누군가는 어떻게 해야할지 모르는 뭔가를해야 할 것입니다.
그리고 그들은 단지 그것을 연구합니다.
스택 오버플로와 같은 것이 정말 도움이됩니다.
그리고 우리가 본다면 스택 오버 플로우 우표가 링크로 포함되어 있습니다.
여기에 질문이 있습니다.
현재 상태에서 특정 커밋으로 만들어진 스냅 샷으로 되돌리려면 어떻게합니까?
그렇다면 이전 커밋으로 돌아가서 우리가 본 것처럼 체크 아웃하지 말고 어떻게 실제로 되돌릴 수 있습니까?
아마 20 가지 대답이있을 것이며 그중 어느 것도 동일하지 않습니다.
그래서 나는 그들 중 일부를 그냥 지나갈 것입니다.
그들 중 일부는 여러 줄로 표시됩니다.
그들 중 일부는 당신에게 물어 보거나 그 중 일부는 당신이 되돌리기 전에 당신이 만든 커밋을 근본적으로 파괴하게합니다.
그들 중 일부는 당신이 가지고있는 커밋을 유지할 것입니다.
다양한 방법이 있습니다.
제가 함께 할 일은 여기에있는 것입니다.
친절하고 짧으며 입력 할 때 우리가하는 일을 꽤 쉽게 처리 할 수 ​​있습니다.
Dash Dash 커밋을하지 않은 다음 커밋을 다시 수행하여 점 점으로 되돌립니다.
그리고 여기에서 볼 수 있듯이 이것은 머리에서부터 커밋 해쉬에 이르기까지 모든 것을 되돌릴 것이라고 말합니다. 우리가 제공 한 모든 커밋에 이르기까지 모든 커밋이 마치 뒤로 돌아온 것처럼 커밋 날짜를 다시 만듭니다.
그래서 그렇게 중요하지 않습니다.
그리고 나서 대시 대시 (dash dash)는 커밋을 한 번에 하나씩 수행하는 대신 모든 단일 커밋을 되돌리기 위해 플래그를 지정합니다.
그래서 우리가 할 수있는 일보다는 대쉬 대시를 할 수 있습니다. 모든 일을 되돌릴 수 있습니다. 그리고 커밋을 실행하고 되돌릴 수있는 메시지를 보내거나 변경 사항을 실행 취소 할 수 있습니다.
이제 여기서 다시 시도해 보도록하겠습니다.이 메모를 메모에 복사하여 여기에 붙여 넣기 만하면됩니다.
그리고 이것은 분명히 커밋에 따라 변경해야합니다.
그래서 나는 돌아가고 싶다.
오, 방금 클립 보드에 클립 보드가없는 뭔가를 복사했다고 생각합니다.
나는 고양이에게 야옹을 넣었을 때로 돌아가서 지금 파일이 어떻게 생겼는지 간단히 살펴 보겠습니다.
그래서 개는 비어 있습니다.
고양이에는 야옹과 뾰루지가 있고 주소에는이 재료 전부가있다.
승인.
이제는이 줄을 먼저 시도해 보면 항상 상태를 입력하고 주목할 가치가있는 한 가지는 시도하고 되돌리려면 커밋되지 않은 변경 사항이있는 것입니다.
그래서 내가 새 파일을 만들거나 개에서 뭔가를 바꾼다면.
예.
그리고 그것을 되돌리려 고하면 저에게 경고 할 것입니다.
커밋되지 않은 변경 사항이 있다고 말하고 싶습니다.
대부분의 경우 변경 사항을 추가하기 만하면됩니다.
그들을 저 지르면 참조 할 것입니다.
좋습니다 이렇게 강 돌진 대시를 돌진하지 않으며 대쉬하십시오 그 후에 Pace는 stringin 대시 돌진 또는 점 점 머리를 말했다.
예, 이것이 많이 있다는 것을 압니다.
나는 내 자신을 결코 기억하지 않을 것이다.
오버플로 스택.
온라인에서 다시 찾았습니다.
인터넷 검색 기술을 사용하십시오.
그것은.
내가 당신이 자주하는 모든 것을하지는 않는 것에 대해 언급했듯이 그것을 어떻게 기억하고 찾아야 하는지를 아는 것이 중요합니다.
그래서 커밋을 추가하고 뜨다.
그것들은 암기 가치가 있습니다.
그러나이 강 대시 대시와 같은 무엇인가.
나는 당신의 시간을 낭비하지 않을 것입니다.
승인.
여기에서 일어난 것으로 나타났습니다.
재신 고양이 J.S.에서 우리가 볼 수 있습니다. 하지만 개가 없어졌습니다.
고양이를 보자.
그것은 단지 야옹이있다.
실제로 예를 하나만 살펴 보겠습니다.
이것은 내가 지금 상태를 입력하는 나의 복잡한 응용 프로그램입니다.
우리는 실제로 커밋 될 필요가있는 변경 사항을 실제로 볼 수 있으며 변경 사항은 기본적으로 변경된 사항입니다.
내가 돌아 왔을 때 강아지의 파일을 삭제하고 앱과 고양이를 변경했습니다.
예.
따라서 커밋을 추가하고 추가 할 필요는 없습니다.
우리는 커밋해야합니다.
이미 변경 사항이 커밋됨을 알 수 있습니다.
또한 커밋 메시지와 커밋 메시지를 현재 되돌리고 있다고 알려줍니다.
우리가 일반적으로 여기에 넣을 수 있도록 보통 되돌릴 수 있습니다. 그런 다음 문자열에 긴 해시를 걸거나 커밋 메시지 나 시간을 되돌릴 수 있습니다. 인증이 깨지거나 부트 스트랩이 추가되기 전에 되돌릴 수 있습니다. 그런 다음 Enter 키를 누릅니다.
이제 상태를 얻는 것이 스승님의 것이 었습니다.
커밋 할 디렉토리 또는 디렉토리를 정리할 수 없습니다.
나는 고양이에서 실제로 그렇습니다 그렇습니다 나는 모든 것을 잃지 않는다는 것을주의하는 것이 중요합니다.
내가 개 파일을 가지고있을 때로 돌아가고 싶었지만 로그를 얻을 수 있었고 내위원회가 이제이 첫 번째 광고 응용 프로그램 파일처럼 보일 것입니다. 그러면 고양이 파일을 추가하여 개와 고양이 파일 업데이트 파일에 추가하십시오. 파일을 엉망으로 만들고 다시 되돌립니다.
그래서 비록 내가 더 이상 개 파일을 기본적으로 가지고 있지 않더라도 우리가 여기에 있었던 상태는이 커밋을 가지고 있습니다.
그래서 나는 역시하지 않았다.
나는 그것을 잃지 않는다.
내가 원하면 다시 되돌릴 수 있습니다.
그래서 정말 강력해질 것입니다. 그리고 저는 여러분이 이와 같은 것을 보았을 때 여러분이 시작할 때 정말 협박하고 있다고 생각합니다.
그래서 당신이 되돌아가는 것을 보여주기 위해 토론했습니다.
나는 그것을하기로 결정한 이유가 있습니다. 왜냐하면 당신이 그것을 많이하지 않더라도, 당신이 한 줄을 한 줄로해서 2 줄을 할 수 있다는 것을 보여줄 것이라고 생각하기 때문입니다.
100 개의 파일을 가질 수 있으며, 하나의 파일이 있거나 각각 1000 개의 파일로 채워진 100 개의 파일을 가질 수 있으며, 다시 쓸 수 있으며 각각 한 줄만 가질 수 있습니다.
당신은 그것을 사용할 수 있습니다.
더 큰 프로젝트를 진행할 때 특히 강력합니다.
그래서 나는 조금 강렬하다고 생각하기 때문에 그것을 당신에게 보여주기 위해 토론했습니다.
보아야 할 것이 많아서 이런 식으로 알고 있습니다.
누구든지 기억하거나 쉽게 알 수있는 것은 아닙니다.
그래서 저는 그 인상을 듣지 않아도됩니다.
나는 여기서 내가 부러진 레코드라는 것을 알고 있지만,이 라인에 대해 걱정하지 않는다.
승인.
이전 코드를 체크 아웃 할 수있게하려면이 워크 플로 광고 커밋 상태에 대해 조금 이야기했습니다.
스택 오버플로 게시물을 살펴볼 필요가있는 경우 되돌릴 수 있습니다.
우리가 다음에 보게 될 것은 어떻게 이것이 어떻게 이뤄지는가하는 것입니다.
그래서 우리는 어떻게 우리가 그것을 로컬에서 사용할 수 있는지 보았습니다.
그래서 저는 프로젝트 소설을 작업 할 수있었습니다.
작은 체크 포인트에서 소설을 쓸 수 있습니다. 광고가 나오면 다시 돌아가서 내가 가지고있는 것을 보거나 되돌릴 수 있습니다.
하지만 지금 내 코드를 넣고 싶으면 다른 사람들이 공유 할 수 있도록 소설을 좋은 허브에 올려 놓으면 어떨까요?
다른 사람들이 그것을 읽을 수있어서 다른 사람이 그것을 편집 할 수있어서 자신의 컴퓨터에서 가져 와서 약간의 변경을 한 다음 다른 사람들과 공유 할 수 있습니다.
이것이 바로 바쁜 시간을 얻는 방법이며 다음 비디오에서 우리가 이야기 할 내용입니다.