Git

git版本控制工具

Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或大或小的项目。

Git与另一个版本控制系统有如下区别

  • Git是分布式的,SVN不是。
  • Git把内容按元数据方式存储,而SVN是按文件。
  • Git分支和SVN分支不同。
  • Git没有一个全局的版本号,而SVN有。
  • Git的内容完整性要优于SVN。

工作流程

首先要了解到Git分为几个区域,有工作区、暂存区、版本库、远程仓库。然后在后边会解释项目在各个区域移动。

单人工作比较简单,主要是重复的修改和提交,多用于个人项目。

  • 初始化仓库;
  • 现在就处于工作区,可以在项目中进行修改;
  • 然后将更改提交到暂存区;
  • 将更改从暂存区提交到本地仓库(版本库);
  • 再将代码推到远程仓库。

多人合作的话,每个人创建分支,在自己的分支上写代码,最后将分支合并。使用分支并不会影响开发主线的工作。

开发中经常使用的Git命令

1、配置Git

git config

在使用Git之前。需要配置Git。主要配置的就是用户名和邮箱。然后再查看配置列表。

git config --global user.name <name>
git config --global user.email <email>

git config -l

然后就可以开始使用了。

2、初始化Git仓库

git init

该命令会在当前文件目录下初始化一个Git仓库并且生成一个.git目录。或者直接在github克隆一个仓库,使用如下命令。

git clone <repo>

3、添加到暂存区

git add <file>

将修改过的文件添加到暂存区,使用git add .git add -A将所有更改的文件添加到暂存区。

删除文件可以使用git rm命令,只能删除工作区与暂存区的文件。如果想只删除暂存区的文件git rm --cached <file>

查看工作区的状态使用git status命令,查看未添加的文件。

查看暂存区中的文件使用git ls-files命令。

4、提交到本地仓库

git commit

在提交的时候需要添加提交信息git commit -m <message>,如此以来就知道每次提交做了什么更改。

在此时,已经使用过工作区、暂存区和本地仓库了。我们可以查看不同区的不同。

  • 显示工作区与暂存区的不同:git diff
  • 显示暂存区与本地仓库的不同:git diff --cached
  • 显示三者的不同:git diff HEAD
  • 仅显示改变的文件:git diff --name-only
  • 显示两次提交的差异:git diff <commit> <commit>

5、远程仓库

git remote

将代码提交到远程仓库之前需要建立连接。使用以下命令对远程仓库进行操作:

  • 添加远程仓库并命名为origin:git remote add origin <git-repo>
  • 修改远程仓库git remote set-url origin <git-repo
  • 删除远程仓库git remote rm origin
  • 列出所有的远程仓库git remote -v

然后就可以推送到远程仓库了,其中origin是远程仓库,master是分支:

  • 推送到远程仓库并建立追踪关系git push -u origin master
  • 推送到远程仓库git push origin master

6、分支

分支绝对是Git中的核心概念。Git保存的不是文件的变化或差异,而是一系列不同时刻的快照。

分支创建

git branch <branch>

分支的其他操作:

  • 从远程仓库拉取文件git pull origin master
  • 列出本地分支git branch
  • 列出本地分支与追踪关系git branch -vv
  • 列出远程分支git branch -r
  • 列出所有分支git branch -a
  • 删除已被合并的分支git branch -d <branch>
  • 强制删除未被合并的分支git branch -D <branch>
  • 更改分支名字git branch -m <newbranch>
  • 设置追踪分支git branch -u <upstream>
  • 切换分支git checkout <branch>
  • 建立分支并切换工作区git checkout -b <branch>
  • 切换到最近一次分支git checkout -
  • 建立无任何提交历史的分支git checkout --orphan <branch>
  • 合并develop分支到本分支git merge develop
  • 合并最近切换分支git merge -

日志和标签

  • 显示提交日志git log
  • 以图表的形式显示提交日志git log --graph --all --online --decorate
  • 列出所有标签并显示标签信息git tag -ln
  • 在某个commit上添加一个标签git tag v0.1 <commit>
  • 删除一个标签git tag -d v0.1

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Redux快速上手

    在创建一个Store时可以添加中间件,如redux-thunk用于异步获取数据,redux-devtools-extension浏览器调试工具等。

    不作声
  • 使用now.sh部署前端项目

    now.sh是ZEIT推出的一款全球化实时部署服务。ZEIT现在已经改名为Vercel。 网站地址:vercel.com Vercel 是一个云平台静态站点和无...

    不作声
  • JavaScript实现继承

    使用class继承非常简单。子类使用extends关键字表明继承于哪个类,并在子类中调用super(),这相当于使用call()改变this的指向。

    不作声
  • Git 命令基本应用

    提交已经Tracked的文件:git commit -m "commit words"

    Rekent
  • git相关操作

    Text-to-speech function is limited to 200 characters

    botkenni
  • 使用git自动部署简单网站

    本文作者:IMWeb yangchunwen 原文出处:IMWeb社区 未经同意,禁止转载 要做什么 假设你有一个博客,有一台网站服务器(或者很多台作...

    IMWeb前端团队
  • Git知识总览(一) 从 git clone 和 git status 谈起

    本篇博客是整理git相关知识的第一篇,因为之前一直是用SourceTree对Git的命令行操作用的不是特别熟,于是乎过了一遍ProGit(链接:https://...

    lizelu
  • 使用 git 自动部署简单网站

    本文介绍的是一种直接在本地提交代码,即可自动完成服务器部署的方法。采用这种方法,可以非常方便地完成网站的更新和部署。

    腾讯IVWEB团队
  • 「新手入门福利」一张脑图带你掌握Git命令

    我理解的就是将远程仓库内容更新到本地,最近与师姐开发项目过程中,使用的就是这个命令。

    胡哥有话说
  • 使用git自动部署简单网站

    假设你有一个博客,有一台网站服务器(或者很多台作负载均衡的服务器),当你的博客要升级时,你可能要在你自己的电脑上写好代码(可能包括本地调试好),然后提交到git...

    IMWeb前端团队

扫码关注云+社区

领取腾讯云代金券