美文网首页
Git 快速上手

Git 快速上手

作者: winwangqi | 来源:发表于2016-11-27 21:55 被阅读20次

概述

Git 管理文件的 4 种状态

  • 未追踪(untracked)
  • 已提交(commited)
  • 已修改(modified)
  • 已暂存(staged)

Git 项目的 3 个工作区域

  • 工作目录
  • 暂存区
  • Git 仓库

快速上手

配置用户

配置用户用于记录开发者信息,以便在版本控制记录开发者的操作行为。

git config --global user.name "姓名"
git config --global user.email "邮箱"

初始化仓库

要利用 Git 进行版本控制,首先需要初始化一个仓库。

git init

git init 命令会在当前项目目录中创建一个名为 .git 的隐藏目录,这个目录中包含了暂存区和仓库两个区域。可通过 ls -al 查看当前目录所有信息。

查看文件状态

查看当前仓库的文件状态。

git status

添加文件到暂存区

将已开发的部分暂存起来等待提交可以使用 git add 添加到暂存区。

git add "文件名"

把所有文件添加到暂存区。

git add *
git add -A 

从暂存区移除文件

将提交到暂存区的文件删除。

git rm --cached "文件名"

撤销更改

将上次暂存的文件还原到工作区

git checkout "文件名"

提交文件

一个功能开发完成,可以提交到本地仓库永久保存。

git commit -m "描述信息"

查看提交历史

查看以往提交历史记录。

git log

版本回退

通过每次提交的唯一 SHA 值回退到特定历史版本。

git reset --hard "SHA"    工作区会变,历史(HEAD)会变,暂存区也会变
git reset --soft "SHA"    只会改变历史(HEAD)
git reset --mixed "SHA"   (默认选项)历史(HEAD)会变,暂存区会变,工作区不变

拉取历史版本某个文件

git checkout "SHA" --"文件名"

Git 分支

创建分支

在当前分支上新建一个分支,新建分支会继承当前分支所有文件。

git branch "分支名称"

切换分支

git checkout "分支名称"

快速切换分支

创建一个新的分支,并切换到新分支。

git checkout -b "分支名称"

删除分支

git branch -d "分支名称"

合并分支

将目标分支合并到当前分支。

git merge "分支名称"

查看分支

git branch [-a]    (-a 查看所有分支)

远程仓库

创建远程仓库

  • Git 要求远程仓库是一个以 .git 结尾的目录。
mkdir /a/b/repo.git
cd /a/b/repo.git
git init --bare
  • 远程仓库地址:用户名@主机:路径.git 分支名称

示例:student@192.168.32.101:/a/b/repo.git master

  • 远程仓库缩写
git remote add "缩写" "远程仓库地址"
git remote show    // 查看所有远程仓库地址
git remote show "缩写"    // 查看某一缩写仓库地址

向远程仓库同步内容

  • 同步内容
    • git push "远程仓库地址 本地分支:远程分支"
    • git push "远程仓库地址 本地分支"
    • git push "远程仓库地址"
  • 删除远程分支
    • git push "远程仓库地址 :远程分支"
    • git push "远程仓库地址" --delete "远程分支"

从远程仓库里取出内容

  • git fetch
git fetch "远程仓库地址 [远程分支]"
要执行 git fetch,前提已初始化一个仓库。
将远程仓库所有分支更新到本地。
通过 git fetch 更新到的分支只是记录在本地仓库中,并不会更新到工作目录中。
使用 git merge "远程分支" 来进行合并。
  • git pull
git pull "远程仓库地址 [远程分支]"
要执行 git pull,前提已初始化一个仓库。
git pull = git fetch + git merge
  • git clone
可以在不存在本地仓库的情况下执行此命令。
git clone "远程仓库地址 [远程分支]"
git clone = git init + git fetch + git merge

其它

.gitignore 忽略文件

在项目根目录下创建一个 .gitignore 文件,可以将不希望提交的文件或目录罗列在这个文件里。

比较差异

git difftool    // 比较工作区与暂存区的差异
git difftool "SHA"    // 比较工作区与历史提交版本的差异
git difftool "SHA" "SHA"    // 比较两个历史提交版本的差异
git difftoll "分支名称"    // 比较当前分支与特定分支的差异

相关文章

  • git快速上手

    在我们项目开发中,基本都会用到版本控制服务。本文介绍coding(国产)的git版本控制服务使用。 第一步:在我们...

  • 快速上手GIT

    最近工作中用到了git,但是之前真的只是听到过,但是没有实际的用过。在百度了很多资料后。参照廖雪峰官方网站的G...

  • Git 快速上手

    概述 Git 管理文件的 4 种状态 未追踪(untracked) 已提交(commited) 已修改(modif...

  • git快速上手

    1. 创建版本库 创建版本库: git init 添加:git add . 提交:git commit —amen...

  • 快速上手Git

    使用git 命令行时,经常会忘记相应的git命令,这次梳理最基本的git使用当做备忘,顺带帮助读者快速上手git。...

  • Git快速上手

    前言 git作为一个先进的版本管理工具,已经被广泛应用在大量项目中。近来发现了一个非常不错的git学习网站,虽然比...

  • Git 快速上手

    因为任职的公司在管理版本时,基本使用 Git 命令行方式,所以把 Git 简单重新整理下。 本文不会长篇大论的讲解...

  • Git快速上手

    config配置 git config --global user.name "YourName" 添加名字。 g...

  • Git笔记

    快速上手 基本操作 git init,初始化一个git库 git status 查看当前的状态 git confi...

  • Git 极速学习笔记

    快速上手Git版本控制 基本概念和操作 如何提交 git add . 添加所有文件git commit -m "备...

网友评论

      本文标题:Git 快速上手

      本文链接:https://www.haomeiwen.com/subject/givnpttx.html