목차
git add
git status
git diff
git log
git reflog
git reset
git rm
git checkout
git branch
git merge
git stash
git tag
远程仓库
git push
远程克隆git clone如果远程已有库,可以通过git clone将远程库的内容克隆到本地。
웹 프론트엔드 HTML 튜토리얼 git语言_html/css_WEB-ITnose

git语言_html/css_WEB-ITnose

Jun 24, 2016 am 11:32 AM

安装完成后,需要进一步设置用户名和email。因为git是分布式版本控制工具,因此需要每台开发机自报家门。

$ git config --global user.name "Your Name"$ git config --global user.email "email@example.com"
로그인 후 복사

其中--global表示将设置内容配置到全局,这样整个系统的用户都应用这个设置。后面我们还将介绍直接在配置文件中设置的方法。

git的各种命令

git init - 初始化版本库
git add - 将增加或修改内容放到暂存库
git commit - 提交暂存库的内容
git status - 查看状态
git diff - 比较两次版本的不同
git log - 查看版本日志
git reflog - 查看执行的命令日志
git reset - 回退历史版本
git rm - 从版本库中删除
git checkout - 切换分支
git branch - 创建或查看分支
git merge - 合并分支
git stash - 存储工作区
git tag - 创建或查看标签
git remote - 查看远程版本库的名称
git push - 推送本地库版本到远程库
git pull - 从远程库拉取到本地库
git clone - 从远程或本地克隆版本库到指定位置

将空目录或者有内容的目录加入到git版本控制器中,由git来跟踪并管理。

git init

命令执行完后,会在当前目录下生成一个.git的目录,该目录是隐藏的。这个目录不能轻易改动,里面保存着所有的git配置。

git add

将增加或修改的文件保存到暂存库中。

git add [文件]

将所有改动的文件都存放到暂存库。

git add -A

git commit

将暂存区的内容提交到版本库。每次提交都必须将提交的注释加上。

git commit -m "注释"

如果文件的修改或删除没有通过add或rm放入暂存区,也可以通过加入-a的参数直接提交。(增加必须通过add加入暂存区)

git commit -a -m "注释"

git status

查看文件有没有被修改的状态,无论文件是否放入暂存区,只要git监控到文件增加、修改、删除,都可以使用该命令来查看。

git status

git diff

比较未提交到暂存区的修改和上个版本的差别。

git diff [文件]
로그인 후 복사

比较所有提交到暂存区的文件。

git diff

git log

查看操作日志,记录所有提交后的版本信息。可以根据日志信息回退到指定的版本。

git log

查看分支合并图

git log --graph
格式化显示效果

$ git log --graph --pretty=oneline --abbrev-commit

git reflog

查看所有执行的命令历史。

git reflog

git reset

回退历史版本。如果执行提交后又反悔了,可以通过该命令进行回退。

回退到当前版本,比如放弃当前未提交的修改。

git reset --hard head
로그인 후 복사

如果要回退上一个版本,则改成

git reset --hard head~1

head~后面跟数字,表示回退到从当前版本往回数第几个版本。

也可以指定回退到某一个版本。首先通过git log,查看版本的id号,再根据id号来回退。id号可只写前四位。

git reset --hard [id]

git rm

删除文件有两种方式

  1. 直接从文件夹中删除,但是版本库中并没有被删,如果需要提交版本库就要用到git rm,再使用git commit提交。

  2. 使用git rm删除,文件会从版本库和工作区都删除,然后使用git commit提交。

用法:

git rm [文件]

git checkout

切换分支。

git checkout [分支名称]

创建并切换到该分支。

git checkout -b [分支名称]

git branch

查看分支。

git branch

创建分支。

git branch [分支名称]

删除分支。

git branch -d [分支名称]
로그인 후 복사

如果删除的分支没有被合并,需要进行强制删除。

git branch -D [分支名称]

git merge

快速合并,直接改变合并分支的指针。如果合并的分支间有冲突,则需要手动解决冲突后再提交。git merge [合并的分支名称]

快速合并分支后,如果删除分支则日志记录中不会记录分支合并的操作。如果希望能记录分支合并的操作,则需要禁用快速合并。

git merge --no-ff

git stash

存储当前工作区。如果任务进行到一半,需要解决其他版本的问题,比如修复BUG。当前进行的操作可暂时保存下来,解决问题再恢复。

git stash
로그인 후 복사

查看所有保存的工作现场。

git stash list
로그인 후 복사

恢复保存的工作现场。git stash apply [工作现场名称]

恢复后删除工作现场
git stash drop [工作现场名称]

恢复最后保存的工作现场并同时删除

git stash pop

git tag

给最新的版本加上标签。

git tag [标签号]

给历史版本加上标签。版本id可以通过git log查看。

git tag [标签号] [版本id]

创建带有说明的标签。git tag -a [标签号] -m "标签说明" [版本id]

删除标签。

git tag -d [标签号]

远程仓库

如果不想搭建自己的git服务器,可以选择使用Github。这个网站就是提供Git仓库托管服务的,所以,只要注册一个GitHub账号,就可以免费获得Git远程仓库第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这

目录下有没有idrsa和idrsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

$ ssh-keygen -t rsa -C [你的email]
로그인 후 복사

如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有idrsa和idrsa.pub两个文件,这两个就是SSH Key的秘钥对,idrsa是私钥,不能泄露出去,idrsa.pub是公钥,可以放心地告诉任何人。第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面:

然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容。

当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。添加远程库

现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举多得。首先,登陆GitHub,然后,在右上角找到“Create a new repo”按钮,创建一个新的仓库。

在Repository name填入learngit,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库。目前,在GitHub上的这个learngit仓库还是空的,GitHub告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。git remote

通过git remote命令关联远程库。

git remote add origin [你的github地址]
로그인 후 복사

查看远程库信息git remote -v

git push

将本地库提交到远程库git push origin [分支名称]或
git push origin -u [分支名称]

由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时可以简化命令。git

pull

如果向远程库推送失败,有可能远程库已有新版本导致冲突,那么需要使用git pull从远程库将新版本拉取到本地,手动解决后再推送。

git pull    
로그인 후 복사

如果pull也失败,有可能没有与远程库关联,下面是关联方法:git branch --set-upstream [分支名称] origin/[分支名称]

远程克隆git clone如果远程已有库,可以通过git clone将远程库的内容克隆到本地。

git clone [你的git地址]
로그인 후 복사

从远程克隆下来的项目只能看到master分支,如果要抓取其他分支可以使用git checkout。git checkout -b dev1 origin/dev1

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 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 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

공식 계정 웹 페이지의 캐싱 업데이트에 어려움 : 버전 업데이트 후 사용자 경험에 영향을 미치는 이전 캐시를 피하는 방법은 무엇입니까? 공식 계정 웹 페이지의 캐싱 업데이트에 어려움 : 버전 업데이트 후 사용자 경험에 영향을 미치는 이전 캐시를 피하는 방법은 무엇입니까? Mar 04, 2025 pm 12:32 PM

공식 계정 웹 페이지 업데이트 캐시, 이것은 간단하고 간단하며 냄비를 마시기에 충분히 복잡합니다. 공식 계정 기사를 업데이트하기 위해 열심히 노력했지만 사용자는 여전히 기존 버전을 열었습니까? 이 기사에서는이 뒤에있는 비틀기와 회전을 살펴 보고이 문제를 우아하게 해결하는 방법을 살펴 보겠습니다. 읽은 후에는 다양한 캐싱 문제를 쉽게 처리 할 수있어 사용자가 항상 가장 신선한 콘텐츠를 경험할 수 있습니다. 기본 사항에 대해 먼저 이야기 해 봅시다. 액세스 속도를 향상시키기 위해 브라우저 또는 서버는 일부 정적 리소스 (예 : 그림, CSS, JS) 또는 페이지 컨텐츠를 저장합니다. 다음에 액세스 할 때 다시 다운로드하지 않고도 캐시에서 직접 검색 할 수 있으며 자연스럽게 빠릅니다. 그러나 이것은 또한 양날의 검입니다. 새 버전은 온라인입니다.

웹 페이지의 PNG 이미지에 뇌졸중 효과를 효율적으로 추가하는 방법은 무엇입니까? 웹 페이지의 PNG 이미지에 뇌졸중 효과를 효율적으로 추가하는 방법은 무엇입니까? Mar 04, 2025 pm 02:39 PM

이 기사는 CSS를 사용한 웹 페이지에 효율적인 PNG 테두리 추가를 보여줍니다. CSS는 JavaScript 또는 라이브러리에 비해 우수한 성능을 제공하며, 미묘하거나 눈에 띄는 효과를 위해 테두리 너비, 스타일 및 색상 조정 방법을 자세히 설명합니다.

HTML5 양식 유효성 검사 속성을 사용하여 사용자 입력을 유효성있게하려면 어떻게합니까? HTML5 양식 유효성 검사 속성을 사용하여 사용자 입력을 유효성있게하려면 어떻게합니까? Mar 17, 2025 pm 12:27 PM

이 기사에서는 브라우저에서 직접 사용자 입력을 검증하기 위해 필요한, Pattern, Min, Max 및 Length 한계와 같은 HTML5 양식 검증 속성을 사용하는 것에 대해 설명합니다.

& lt; datalist & gt의 목적은 무엇입니까? 요소? & lt; datalist & gt의 목적은 무엇입니까? 요소? Mar 21, 2025 pm 12:33 PM

이 기사는 HTML & LT; Datalist & GT에 대해 논의합니다. 자동 완성 제안을 제공하고, 사용자 경험을 향상시키고, 오류를 줄임으로써 양식을 향상시키는 요소. 문자 수 : 159

HTML5의 크로스 브라우저 호환성에 대한 모범 사례는 무엇입니까? HTML5의 크로스 브라우저 호환성에 대한 모범 사례는 무엇입니까? Mar 17, 2025 pm 12:20 PM

기사는 HTML5 크로스 브라우저 호환성을 보장하기위한 모범 사례에 대해 논의하고 기능 감지, 점진적 향상 및 테스트 방법에 중점을 둡니다.

& lt; Progress & Gt의 목적은 무엇입니까? 요소? & lt; Progress & Gt의 목적은 무엇입니까? 요소? Mar 21, 2025 pm 12:34 PM

이 기사는 HTML & lt; Progress & Gt에 대해 설명합니다. 요소, 그 목적, 스타일 및 & lt; meter & gt의 차이; 요소. 주요 초점은 & lt; progress & gt; 작업 완료 및 & lt; meter & gt; Stati의 경우

& lt; meter & gt의 목적은 무엇입니까? 요소? & lt; meter & gt의 목적은 무엇입니까? 요소? Mar 21, 2025 pm 12:35 PM

이 기사는 HTML & lt; meter & gt에 대해 설명합니다. 범위 내에 스칼라 또는 분수 값을 표시하는 데 사용되는 요소 및 웹 개발의 일반적인 응용 프로그램. & lt; meter & gt; & lt; Progress & Gt; 그리고 Ex

html5 & lt; time & gt; 의미 적으로 날짜와 시간을 나타내는 요소? html5 & lt; time & gt; 의미 적으로 날짜와 시간을 나타내는 요소? Mar 12, 2025 pm 04:05 PM

이 기사는 html5 & lt; time & gt; 시맨틱 날짜/시간 표현 요소. 인간이 읽을 수있는 텍스트와 함께 기계 가독성 (ISO 8601 형식)에 대한 DateTime 속성의 중요성을 강조하여 Accessibilit를 향상시킵니다.

See all articles