美文网首页
Git 新手教程(快速上手)

Git 新手教程(快速上手)

作者: GCYML | 来源:发表于2019-04-13 09:17 被阅读0次

基本了解

Git 是一些命令行工具的集合,可以用来跟踪、记录文件的变动,经常用于开源代码。比如你可以进行旧版本恢复、比对、分析、合并等等。这个过程被称之为 版本控制。已经有一系列的版本控制系统,比如 SVN、Mercurial、Perforce、CVS、Bitkeepe 等等。

Git 是分布式的,这意味着它并不依赖于中心服务器来保存你文件的旧版本。任何一台机器都可以有一个本地版本的控制系统,其实就是一个硬盘上的文件,我们称之为 仓库(repository)。如果是多人协作的话,你还需要一个线上仓库,用来同步代码等信息。这就是 GitHub、BitBucket 等网站做的工作。

安装 Git

在你的机器上安装 git 非常简单:

  • Linux – 打开终端,然后通过包管理安装,在 Ubuntu 上命令是:sudo apt-get install git
  • Windows – 推荐使用 git for windows,它包括了图形工具以及命令行模拟器。
  • OS X – 最简单的方式是使用 homebrew 安装,命令行执行 brew install git

基础命令

这里仅介绍基础命令,远程仓库和分支管理等功能在下一章节。

初始化仓库

git init

添加新文件

git add filename

检查状态

git status 是另一个非常重要的命令,它反馈给我们仓库当前状态的信息:是否为最新代码,有什么更新等等。

git status

查看日志

log

log 命令可以显示所有提交过的版本信息

git log
relog

可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)

例如执行 git reset --hard HEAD~1,退回到上一个版本,用 git log 则是看不出来被删除的 commitid,用 git reflog 则可以看到被删除的 commitid,我们就可以买后悔药,恢复到被删除的那个版本。

git relog

提交代码

git commit -m "Adding files"

版本回退

  • git reset --hard HEAD^ 回退到上一版本
  • git reset --hard HEAD^ 回退到上上版本
  • git reset --hard HEAD~100 回退到上 100 个版本
  • git reset --hard 具体版本号回退到具体版本号

撤销修改

撤销修改有两种情况,文件在工作区和暂存区的撤销操作是不一样的。

撤销工作区文件修改
git checkout -- filename
撤销暂存区文件修改

已经被添加到暂存区的文件是无法通过 checkout 撤销操作的,需要通过 reset 命令撤销操作。

撤销修改回到最新的版本

git reset HEAD filename

删除文件

如果仅仅通过 rm 或者文件管理器中删除了版本库或者暂存区的文件,Git 能追踪到删除操作,但是并不会做任何操作,即你提交时,删除操作并不会提交上去。要让 Git 做出操作,需要通过 add 操作。

第二种方法就是通过 Git 的 rm 命令:

git rm filename

此命令会将删除文件的操作通知到 Git,而不需要再进行 add 操作。可以把该命令看成是集成了删除文件和 add 操作两个命令。

远程仓库

关联远程库

如果有了本地库,则需要关联远程库。

git remote add origin git@github.com:michaelliao/learngit.git

克隆远程库

克隆远程库会在本地创建并克隆该远程库。

git clone git@github.com:michaelliao/learngit.git

推送代码到远程库

把本地的提交传送到远程库的动作叫做 push。

git push 命令有两个参数,远程仓库的名字以及分支的明治。

git push origin master

git push 还有个 -u 参数,若加上此参数,则会把该远程仓库设为默认仓库,后面再做 push 操作,则不需要再指定主机。

git push -u origin master

拉取远程库代码

后面两个参数为主机名以及分支名。

git pull origin master 

分支管理

查看分支

$ git branch
* dev
  master

git branch 命令会列出所有分支,当前分支前面会标一个 * 号。

创建分支

创建分支

git branch dev

创建并切换到该分支

git branch -b dev

切换分支

前面已经在删除文件小节中介绍过 checkout 命令,git checkout命令用于切换分支或恢复工作树文件。git checkout是 Git 最常用的命令之一,同时也是一个很危险的命令,因为这条命令会重写工作区。

git checkou master

合并分支

git merge 命令用于合并指定分支到当前分支。

git merge dev

删除分支

git branch -d dev

标签管理

通常,发布一个版本时,会在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。由于 Git 版本号是一串长长的字符串,同时查找 git message 也是一件非常繁琐的事情,通过给版本打标签可以让版本控制更加人性化。

创建标签

创建标签时若未指定版本号,若默认为当前版本。

git tag <tagname> <commitid>

创建标签时还可以带上说明

git tag -a <tagname> -m "<description>" <commitid>

查看所有标签

git tag

查看标签信息

git show <tagname>

删除标签

删除本地标签

git tag -d <tagname>

删除远程标签

git push origin :refs/tags/<tagname>

推送标签到远程库

推送一个本地标签

git push origin <tagname>

推送全部标签

git push origin --tags

参考链接

廖雪峰的 Git教程
30分钟教你学会Git

相关文章

  • Git 新手教程(快速上手)

    基本了解 Git 是一些命令行工具的集合,可以用来跟踪、记录文件的变动,经常用于开源代码。比如你可以进行旧版本恢复...

  • 马上上手git

    前言 这是一个新手教程,旨在供新手快速上手体验而列举了几个最常用命令的使用流程。 创建git项目 1、git in...

  • Git多人协作指南

    本教程的目的是为了快速了解Git/Github的使用方法,并且能够指导读者快速上手多人项目。至于Git的安装不再本...

  • git使用教程——快速上手

    1. git安装 直接访问https://git-scm.com/downloads下载对应系统的git安装包,...

  • Adobe系列最全教程合集,你的入门必修课程!!

    8套系列自学教程 新手小白必备资源 让你快速上手 ▼ 资源如上图所示 包括平面设计教程(Ps/AI /ID) 视频...

  • git大全

    awesome-githubgit中文教程Git 使用规范流程Git 简明教程(新手写的可以参考)猴子都能懂得git教程

  • git 整理笔记

    git 学习廖雪峰的Git教程 git中文手册、比较适合新手视频教程:Git零基础实战视频教程(共49课时)git...

  • Ubuntu快速上手指南(新手教程)

    Ubuntu快速上手指南(新手教程) 软件安装篇 1.安装搜狗输入法(Ubuntu16.04) 下载搜狗输入法去搜...

  • 给想学Git的你的一个简单的Git入门教程

    Git的重要性不言而喻,而让一个新手快速上手Git,并把自己的代码提交到GitHub是一个比较困难的事情——毕竟网...

  • git上手教程

    如何创建远程git仓库? 在gitea平台上可以直接创建git仓库。其中的.gitignore文件是比较重要的,可...

网友评论

      本文标题:Git 新手教程(快速上手)

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