Git基础教程详解
文章目录
1.安装Git
选择命令行,可以从Git网站下载Git的安装程序并安装。
若使用Mac,也可以使用套件管理工具MacPorts或Homebrew来安装。
工作树和索引
在Git管理下,大家实际操作的目录被称为工作树。
在数据库和工作树之间有索引,索引是为了向数据库提交作准备的区域。
Git在执行提交的时候,不是直接将工作树的状态保存到数据库,而是将设置在中间索引区域的状态保存到数据库。因此,要提交文件,首先需要把文件加入到索引区域中。
所以,凭借中间的索引,可以避免工作树中不必要的文件提交,还可以将文件修改内容的一部分加入索引区域并提交。
2.初期设定
安装Git之后,输入用户名和电子邮件地址。该设置操作在安装Git后进行一次就够了。这些信息将作为提交者信息显示在更新历史中。
Git的设定被存放在用户本地目录的.gitconfig里。虽然可以直接编辑配置文件,此外我们也可以使用config命令。
$ git config --global user.name "<用户名>"
$ git config --global user.email "<电子邮件>"
以下命令能让Git以彩色显示。
$ git config --global color.ui auto
您可以为Git命令设定别名。例如:把「checkout」缩略为「co」,然后就使用「co」来执行命令。
$ git config --global alias.co checkout
3.新建数据库
3.1 初始化数据库
在本地新建数据库,创建一个名称为「tutorial」的空目录,并把它放在Git管理之下。
首先在任意一个地方创建tutorial目录。然后使用init命令把该tutorial目录移动到本地Git数据库。
$ git init
按照以下步骤把新创建的tutorial目录设置到Git数据库。
$ mkdir tutorial
$ cd tutorial
$ git init
3.2 确认状态
请使用status命令确认工作树和索引的状态。
$ git status
3.3 添加文件至索引
将文件加入到索引,要使用add命令。在指定加入索引的文件。用空格分割可以指定多个文件。
$ git add <file>..
Tips
指定参数「.」,可以把所有的文件加入到索引。
$ git add .
3.4 提交文件(commit)
已加入到索引,我们就可以提交文件了。请执行如下显示的commit命令。
$ git commit -m ""
执行commit命令之后确认状态。 $ git commit -m "first commit"
从status响应我们可以看到没有新的变更要提交。
3.5 查看记录
使用log命令,我们可以在数据库的提交记录看到新的提交。
$ git log
4.push到远程数据库
向远程数据库推送本地数据库的修改记录
4.1 给数据库起别名
给远程数据库取一个别名。这样,下次推送的时候就不需要输入长串的远程数据库地址了。
请使用remote指令添加远程数据库。在处输入远程数据库名称,在处指定远程数据库的URL。
$ git remote add <name> <url>
eg. $ git remote add origin https://XXX.git 执行推送或者拉取的时候,若省略了远程数据库的名称,则默认使用名为”origin“的远程数据库。因此一般都会把远程数据库命名为origin。
4.2 push到远程数据库
$ git push <repository> <refspec>...
运行push可向远程数据库‘origin’进行推送。
- 当执行命令时,如果指定了-u选项,那么下一次推送时就可以省略分支名称。
- 注意:首次运行指令向空的远程数据库推送时,必须指定远程数据库名称和分支名称。
$ git push -u origin master
5.clone克隆远程数据库
使用clone指令可以复制数据库,在指定远程数据库的URL,在指定新目录的名称。
$ git clone <repository> <directory>
执行以下指令后,会在目录(tutorial2) 复制远程数据库。 $ git clone https://XXX.git tutorial2
6.从克隆的数据库进行push
修改后的文件进行推送,更新远程数据库。当在克隆的数据库目录执行推送时,可以省略数据库和分支名称。
$ git push
7.从远程数据库pull
- 进行拉取(Pull) 操作就可以把远程数据库的内容更新到本地数据库。
- 进行拉取(Pull) 操作,就是从远程数据库下载最近的变更日志,并覆盖自己本地数据库的相关内容。
我们把在上一页面中从“tutorial2”推送到远程数据库的内容拉取到数据库目录“tutorial”吧。
使用pull指令进行拉取操作。省略数据库名称的话,会在名为origin的数据库进行pull。
$ git pull <repository> <refspec>...
用tutorial进行的操作 请执行以下指令。 $ git pull origin master 我们使用log指令来确认历史记录是否已更新。 $ git log
8.合并修改记录
在执行pull之后,进行下一次push之前,如果其他人进行了推送内容到远程数据库的话,那么你的push将被拒绝。
这种情况下,在读取别人push的变更并进行合并操作之前,你的push都将被拒绝。这是因为,如果不进行合并就试图覆盖已有的变更记录的话,其他人push的变更就会丢失。
合并的时候,Git会自动合并已有的变更点!也存在不能自动合并的情况,这时需要我们手动合并!
==分割线上方是本地数据库的内容,下方是远程数据库的编辑内容。
再次重复add,commit操作。
用log命令来确认数据库的历史记录是否准确。指定–graph选项,能以文本形式显示更新记录的流程图。指定–oneline选项,能在一行中显示提交的信息。
$ git log --graph --oneline
相关文章
- git 拉新分支_git基于远程分支新建本地分支
- pycharm配置github_怎么把git上放到pycharm
- 通过pycharm使用git[图文详解][通俗易懂]
- Git和Github之Github
- Git ssh 配置及使用
- git 安装和使用
- Git的branch操作详解与总结
- git安装教程图文详解_git vim命令
- Git删除本地分支_idea删除git分支
- Git—记录一次自建git服务器和客户端的过程
- Git使用流程_git提交流程
- Git版本控制入门
- git常用操作连载
- git tag 命令详解
- git add 命令详解
- Gridea Hexo Hugo 等 git push 同步到多个仓库
- git branch 命令详解
- centos7 之 python3,virtualenvwrapper, git, nginx, redis 源码安装
- 【Git】常用命令大全(二)
- linux提交git代码
- 【Git】Git 基础命令 ( 添加暂存文件 git add | 提交文件至版本库 git commit | 查看版本库状态 git status | 查询文件修改 git diff )
- 【Git】Git 分支管理 ( 解决分支合并冲突 | 创建并切换分支 git switch -c feature1 | 修改 feature1 分支并提交 | 修改 master 主版本并提交 )
- 【Git】Git 分支管理 ( 使用 git cherry-pick 命令提取提交记录应用于当前分支 | 创建新分支应用某个提交 | git cherry-pick 冲突处理 )
- git 常用命令详解程序员
- git 分支查看与切换详解程序员
- Git查看文件制定行区间的提交记录详解程序员
- git reset –hard HEAD^后显示more的原因及如何解决详解程序员
- Git 版本控制工具(学习笔记)详解手机开发
- git 基本命令行详解程序员
- Git和SVN之间的几个基本区别详解架构师
- git 分支查看 创建 合并详解编程语言
- 实现Linux环境下的Git版本控制(linuxgit目录)
- 使用Git在Linux系统中管理代码(linux中的git命令)
- 学习Linux使用Git进行版本控制(linux使用git命令)
- 使用Git来升级你的Linux系统(git升级linux)
- 探索Git与Linux内核之间的联系(gitlinux内核)
- Linux安装Git简易教程(linux 下载git)
- 让Oracle支持Git(oracle中的git)