찾다
개발 도구자식10분 안에 가장 일반적으로 사용되는 git 명령을 단계별로 안내합니다.

기본적으로 Git은 텍스트 변경 사항을 기록할 수 있지만 Git의 정의는 버전 제어 시스템입니다. 이미 어떤 방식으로든 git을 사용했을 가능성이 높습니다. 분산 특성으로 인해 중앙 집중식 Apache Subversion(SVN)과 달리 코드 버전 제어를 위한 사실상의 표준입니다.

git 설치

Git이 설치되어 있는지 확인하려면 터미널에서

$ git version
git version 2.27.0.rc1.windows.1

를 실행하세요. 설치되어 있지 않으면 https://git-scm.com/downloads의 지침을 따르세요. Mac 사용자는 Brew: Brew Install git을 사용하여 설치할 수 있습니다.

git 구성

몇 가지만 구성하면 됩니다

git config --global user.name "前端小智" && # 你的名字
git config --global user.email johndoe@example.com && # 你的邮箱
git config --global init.defaultbranch main # 默认分支名称,与GitHub兼容

다음 명령을 사용하여 현재 전역 구성을 볼 수 있습니다.

git config --global --list
# Type ":q" to close

git은 구성을 일반 텍스트로 저장합니다. ~/.gitconfig에서 직접 수정하거나 ~/.config/git/config에서 전역 구성을 편집할 수 있습니다.

명령에서 알 수 있듯이 --global을 제거하면 이러한 명령의 범위가 현재 폴더로 확장됩니다. 하지만 이를 테스트하려면 저장소가 필요합니다.

새 저장소 만들기

저장소는 추적하려는 모든 항목이 들어 있는 폴더일 뿐입니다. 명령으로 생성:

mkdir gitexample && 
cd gitexample && 
git init
# gitexample git:(main)

이 명령은 gitexample 폴더 내에 .git 폴더를 생성합니다. 이 숨겨진 .git 폴더는 저장소입니다. 모든 로컬 구성 및 수정 사항이 여기에 저장됩니다.

Change

저장소에 무언가를 생성하세요:

echo "Hello, Git " >> hello.txt

git status를 실행하면 새로 생성된 추적되지 않은 파일을 볼 수 있습니다.

git status
# On branch main
# 
# No commits yet
# 
# Untracked files:
#  (use "git add <file>..." to include in what will be committed)
#   hello.txt
#
# nothing added to commit but untracked files present (use "git add" to track)

프롬프트 제안에 따라 파일을 추가합니다:

git add .

모든 파일을 추가하지 않으려면

git add hello.txt

를 사용할 수 있습니다. 지금 저장소 상태를 확인하면 파일이 추가되었지만(즉, 준비됨) 아직 제출되지 않았습니다.

git status
# On branch main
# 
# No commits yet
# 
# Changes to be committed:
#  (use "git rm --cached <file>..." to unstage)
#   new file:   hello.txt

이러한 변경 사항을 문서화하려면 커밋해 보세요.

git commit -m "Add hello.txt"
# [main (root-commit) a07ee27] Adds hello.txt
# 1 file changed, 2 insertions(+)
# create mode 100644 hello.txt

git commit -m 는 git commit을 사용하여 편집기(주로 vim)를 열고 자세한 커밋 설명을 제공할 수 있습니다.

커밋 기록 확인:

git log
# Author: qq449245884 <44924566884@qq.com>
# Date:   Sat Jul 17 14:57:24 2021 +0800
#
#    Add hello.txt
#

브랜치 만들기

많은 상황에서 초기 코드의 독립적인 버전을 갖는 것이 유용합니다. 예를 들어, 확실하지 않은 기능을 테스트할 때 또는 피하기 위해 함께 작업할 때 코드 충돌. 이것이 바로 git 브랜치입니다. 역사의 특정 지점에서 성장합니다.

브랜치를 생성하려면 git Branch NAME을 실행하고, 브랜치를 전환하려면 git checkout NAME을 실행하세요. 또는 간단히

git checkout -b dev # 切换到一个名为“dev”的新分支
# Switched to a new branch &#39;dev&#39;
# gitexample git:(dev)

Hello.txt 파일에서 내용을 변경하고 변경 사항을 커밋합니다.

echo "\nHello, Git Branch" >> hello.txt &&
git commit -am "Change hello.txt"

이제 마스터 브랜치로 전환합니다.

git checkout main &&
cat hello.txt
# Switched to branch &#39;main&#39;
# Hello, Git

보시다시피 파일 내용은 여전히 ​​이전과 동일합니다. 분기를 비교하기 위해 실행할 수 있습니다.

git diff dev
# diff --git a/hello.txt b/hello.txt
# index 360c923..b7aec52 100644
# --- a/hello.txt
# +++ b/hello.txt
# @@ -1,3 +1 @@
# Hello, Git
# -
# -Hello, Git Branch
# (END)
# type ":q" to close

마스터 브랜치에서 변경해 보겠습니다.

echo "\nHi from Main Branch" >> hello.txt &&
git commit -am "Change hello.txt from main"
# [main 9b60c4b] Change hello.txt from main
# 1 file changed, 2 insertions(+)

이제 이러한 변경 사항을 병합해 보겠습니다.

git merge dev
# Auto-merging hello.txt
# CONFLICT (content): Merge conflict in hello.txt
# Automatic merge failed; fix conflicts and then commit the result.

같은 곳에서 파일을 두번 수정해서 충돌이 났어요. 이 파일을 살펴보세요.

cat hello.txt
<<<<<<< HEAD
Hello, Git
Hi from Main Branch
=======
Hello, Git
>>>>>>> dev

변경 사항을 개별적으로 볼 수 있는 명령도 있습니다:

git diff --ours # :q to close 
git diff --theirs #:q to close

파일을 수동으로 편집하고 변경 사항을 커밋할 수 있지만 한 가지 버전만 필요하다고 가정해 보겠습니다. 병합을 중단하는 것부터 시작하겠습니다.

git merge --abort

그리고 "그들의" 전략으로 병합을 다시 시작합니다. 이는 충돌이 발생할 경우 들어오는 분기가 보유하고 있는 것을 사용한다는 의미입니다.

git merge -X theirs dev
# Auto-merging hello.txt
# Merge made by the &#39;recursive&#39; strategy.
# hello.txt | 5 +----
# 1 file changed, 1 insertion(+), 4 deletions(-)

이 전략의 반대는 "우리"입니다. 이 두 가지 변경 사항을 병합하려면 수동 편집(또는 git mergetool 사용)이 필요합니다.

모든 브랜치 실행 목록 보기

git branch # type :q to close
#  dev
# * main

마지막으로 브랜치를 삭제하고 실행하세요.

git branch -d dev
# Deleted branch dev (was 6259828).

Reset Branch

브랜치는 Git 기록의 특정 지점에서 "성장"하며 리베이스를 사용하면 이 지점을 변경할 수 있습니다. 또 다른 브랜치를 만들고 hello.txt에 몇 가지 변경 사항을 추가해 보겠습니다.

git checkout -b story &&
echo "Once upon a time there was a file">>story.txt &&
git add story.txt &&
git commit -m "Add story.txt"
# Switched to a new branch &#39;story&#39;
# [story eb996b8] Add story.txt
# 1 file changed, 1 insertion(+)
# create mode 100644 story.txt

이제 마스터 브랜치로 돌아가서 변경사항을 추가합니다.

git checkout main &&
echo "Other changes" >> changes.txt &&
git add changes.txt &&
git commit -m "Add changes.txt"

메인에서 변경한 내용을 스토리 브랜치로 재설정합니다.

git checkout story &&
git rebase main
# Successfully rebased and updated refs/heads/story.

메인 브랜치에서 생성된 새 파일이 스토리에 추가되는 것을 볼 수 있습니다. 나뭇가지.

ls
# changes.txt hello.txt   story.txt

참고: master 분기와 같이 다른 사람이 사용했을 수 있는 분기를 리베이스하지 마세요. 또한 원격 저장소의 모든 기록 작업은 이러한 수정 사항을 강제로 적용해야 한다는 점을 기억하십시오.

원격 저장소

아직 계정이 없다면 GitHub 계정을 만들고 로그인한 후 새로운 빈 저장소(비공개 또는 공개)를 만드세요.

저장소 이름이 "example"이라고 가정하고 다음 명령을 실행합니다(사용자 이름으로 변경).

git remote add origin git@github.com:USERNAME/example.git &&
git push -u origin main

페이지를 새로 고치고 마스터 브랜치의 파일을 볼 수 있습니다. 모든 로컬 브랜치를 원격 저장소로 푸시하려면 다음을 실행하세요.

git push --all origin

GitHub에서 편집해 보겠습니다. 파일을 클릭하고 연필 아이콘을 클릭하기만 하면 됩니다. 원하는 텍스트 한 줄을 추가하고 "변경 사항 제출"을 누르세요.

변경 사항을 원격으로 가져오려면 이 명령을 로컬로 실행하세요. [권장: Git Tutorial]

git checkout main &&
git pull

커밋되지 않은 변경 사항 관리

나중에 사용하기 위해 로컬 수정 사항을 저장하려면 git stash를 사용할 수 있습니다.

echo "Changes" >> hello.txt &&
git stash

이제 다음 명령을 사용하여 이러한 변경 사항을 확인, 적용 또는 삭제할 수 있습니다.

git stash list
# stash@{0}: WIP on main: 92354c8 Update changes.txt
git stash pop # 应用更改
git stash drop # 撤销修改

你可以使用 stash 编号,即git stash pop 0来应用一个特定的储藏库,或者git stash drop 0来撤销。

如果你想放弃所有的本地修改,只需恢复版本库到最后提交的修改,请运行。

git restore .

管理提交的更改

一旦你创建了一个提交,这个变化就会保存在本地的git历史中。如前所述,所有影响远程历史的修改都需要git push --force。以下所有命令都要记住这一点。

我们从编辑最后的提交信息开始。

git commit --amend # type :wq to save and close
# Press "i" to edit, "Esc" to stop editing

我们把一切重设到最开始怎么样?

要找到第一次提交的ID,请运行这个命令并滚动(向下箭头)到最后。

git log --abbrev-commit
# commit a07ee27
# Author: Your Name <your@email.address>
Date:   Sun Jul 11 11:47:16 2021 +0200
    Adds hello.txt
(END)
# type ":q" to close

现在运行这个来重置版本库,但保持所有的修改不被缓存。

git reset --soft COMMIT # e.g. a07ee27

与之相反,你也可以进行硬重置,用git reset --hard COMMIT来删除所有修改。还有几种其他的重置方式,你可以从git文档中了解到。

别名

大多数时候,你只需要使用少数几个命令(主要是checkout、add、commit、pull、push和merge),但有些命令可能是你想要“以防万一”的。

存储这些信息的一种方法是git aliases。要配置一个别名,只需在配置中设置它。例如,我经常使用的一个别名是git tree,它以树的形式打印出一个漂亮的历史日志。

git config --global alias.tree &#39;log --graph --decorate --pretty=oneline --abbrev-commit&#39;
# Try it with `git tree`

另一个有用的别名是删除所有合并的分支。

git config --global alias.clbr &#39;!git branch --merged | grep -v \* | xargs git branch -D&#39;

你可以看到它的前缀是"!",这允许我们使用任何命令,而不仅仅是git命令。

~完,我是刷碗智,今天礼拜六写的,要准备去刷碗了,骨的白!

▎作者:Valeria 译者:前端小智 来源:dev 原文:https://dev.to/valeriavg/master-git-in-7-minutes-gai

위 내용은 10분 안에 가장 일반적으로 사용되는 git 명령을 단계별로 안내합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 前端小智에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
GIT : 버전 제어 시스템, github : 플랫폼GIT : 버전 제어 시스템, github : 플랫폼Apr 29, 2025 am 12:31 AM

Git과 Github는 최신 소프트웨어 개발의 핵심 도구입니다. GIT는 분산 버전 제어 시스템이며 GitHub는 협업 플랫폼입니다. GIT와 GitHub를 사용하면 개발 효율성을 향상시키고 팀 협업을 향상시킬 수 있습니다.

Git : The Technology, Github : 플랫폼Git : The Technology, Github : 플랫폼Apr 28, 2025 am 12:09 AM

GIT는 2005 년 Linus Torvaz가 만든 분산 버전 제어 시스템이며 Github는 GIT를 기반으로 한 온라인 협업 플랫폼입니다. GIT는 스냅 샷을 통해 파일 변경을 기록하고 브랜치 모델을 지원합니다. Github는 풀 레크스와 같은 도구를 제공하여 협업 효율성을 향상시킵니다.

Github의 목적 : 버전 제어, 협업 등Github의 목적 : 버전 제어, 협업 등Apr 27, 2025 am 12:05 AM

GitHub는 버전 제어 도구 일뿐 만 아니라 협업, 프로젝트 관리 및 커뮤니티 커뮤니케이션 기능을 제공합니다. 1) 버전 제어 : GIT를 사용하여 코드 변경을 추적합니다. 2) 협업 : PullRequest를 통해 코드 변경을 제출합니다. 3) 프로젝트 관리 : 문제와 프로젝트 섹션을 사용하여 작업을 관리합니다. 4) 커뮤니티 커뮤니케이션 : 포크를 통해 배우고 의사 소통하고 오픈 소스 프로젝트에 참여합니다.

Github vs. Git : 주요 차이점 이해Github vs. Git : 주요 차이점 이해Apr 26, 2025 am 12:12 AM

Git과 Github는 다른 도구입니다. Git은 버전 제어 시스템이며 Github는 Git을 기반으로 한 온라인 플랫폼입니다. GIT는 코드 버전을 관리하는 데 사용되며 GitHub은 협업 및 호스팅 기능을 제공합니다.

GitHub : 코드 호스팅, 협업 및 버전 제어GitHub : 코드 호스팅, 협업 및 버전 제어Apr 25, 2025 am 12:23 AM

GitHub는 GIT를 기반으로 한 분산 버전 제어 시스템으로 버전 제어, 협업 및 코드 호스팅의 핵심 기능을 제공합니다. 1) 리포지토리 생성, 복제, 커밋 및 변경 변경이 기본 사용법입니다. 2) 고급 사용법에는 자동화에 githubactions를 사용하고 GitHubPages에 정적 웹 사이트를 배포하고 보안 기능을 사용하여 코드를 보호하는 것이 포함됩니다. 3) 병합 충돌, 권한 문제 및 네트워크 연결 문제와 같은 일반적인 오류는 수동으로 갈등을 해결하고 창고 소유자에게 연락하고 프록시를 설정함으로써 디버깅 할 수 있습니다. 4) 워크 플로를 최적화하는 방법에는 분기 전략, 자동 테스트 및 CI/CD, 코드 검토, 문서 및 주석을 명확하게 유지하는 것이 포함됩니다.

GIT : 도구, Github : 서비스GIT : 도구, Github : 서비스Apr 24, 2025 am 12:01 AM

Git 및 Github는 다른 도구입니다. Git은 분산 버전 제어 시스템이며 Github는 GIT를 기반으로 한 온라인 협업 플랫폼입니다. GIT는 작업 영역, 임시 저장 공간 및 로컬 창고를 통해 코드를 관리하고 Gitinit, Gitclone 등과 같은 일반적인 명령을 사용합니다. GitHub에는 코드 호스팅, 풀 레큐스트, 발행 등과 같은 기능이 제공됩니다. 기본 프로세스에는 리포지토리 생성, 코드 푸시 및 풀 레 퀘스트와의 공동 작업이 포함됩니다.

GIT : 버전 제어의 핵심, Github : 소셜 코딩GIT : 버전 제어의 핵심, Github : 소셜 코딩Apr 23, 2025 am 12:04 AM

Git과 Github는 최신 소프트웨어 개발을위한 핵심 도구입니다. GIT는 리포지토리, 분기, 커밋 및 합병을 통해 코드를 관리 할 수있는 버전 제어 기능을 제공합니다. GitHub는 문제 및 풀 레크와 같은 코드 호스팅 및 협업 기능을 제공합니다. GIT와 GitHub를 사용하면 개발 효율성과 팀 협업 기능을 크게 향상시킬 수 있습니다.

GIT : 버전 제어 시스템, GitHub : 호스팅 플랫폼GIT : 버전 제어 시스템, GitHub : 호스팅 플랫폼Apr 22, 2025 am 12:02 AM

GIT는 2005 년 Linus Torvaz가 개발 한 분산 버전 제어 시스템이며 Github는 2008 년에 설립 된 GIT 기반 코드 호스팅 플랫폼입니다. GIT는 Snapshot Management 파일을 통한 분기 및 병합을 지원하며 Github는 풀 요청, 문제 추적 및 코드 검토 기능을 제공하여 팀 공동 작업을 용이하게합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기