前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布

Git

作者头像
不作声
发布2020-08-02 13:12:28
4140
发布2020-08-02 13:12:28
举报
文章被收录于专栏:M不作声

git版本控制工具

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

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

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

工作流程

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

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

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

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

开发中经常使用的Git命令

1、配置Git

代码语言:javascript
复制
git config

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

代码语言:javascript
复制
git config --global user.name <name>
git config --global user.email <email>

git config -l

然后就可以开始使用了。

2、初始化Git仓库

代码语言:javascript
复制
git init

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

代码语言:javascript
复制
git clone <repo>

3、添加到暂存区

代码语言:javascript
复制
git add <file>

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

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

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

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

4、提交到本地仓库

代码语言:javascript
复制
git commit

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

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

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

5、远程仓库

代码语言:javascript
复制
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保存的不是文件的变化或差异,而是一系列不同时刻的快照。

分支创建

代码语言:javascript
复制
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
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020.07.30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • git版本控制工具
    • 工作流程
      • 开发中经常使用的Git命令
        • 日志和标签
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档