前言

Git是程序员学和工作都离不开的开发工具,今天和大家分享Git常用命令总结

Git简介

Git 是一种分布式版本控制系统,它可以不受网络连接的限制,加上其它众多优点,目前已经成为程序开发人员做项目版本管理时的首选,非开发人员也可以用 Git 来做自己的文档版本管理工具

Git 的api很多,但其实平时项目中90%的需求都只需要用到几个基本的功能即可,所以本文将从 实用主义深入探索 2个方面去谈谈如何在项目中使用 Git,一般来说,看完 实用主义 这一节就可以开始在项目中动手用

本文的操作都是基于Mac系统

实用主义

准备阶段

进入Git官网 下载合适你的安装包,安装好 Git后,打开命令行工具,进入工作文件夹(为了便于理解我们在系统桌面上演示),创建一个新的demo文件夹

cd Desktop
mkdir demo
cd demo

进入 Github网站 注册一个账号并登录,创建一个仓库后,点击 Clone or download ,再点击 Use HTTPS ,复制项目地址备用

再回到命令行工具,一切就绪,接下来进入本文的重点

常用操作

所谓实用主义,就是掌握了以下知识就可以玩转 Git,轻松应对90%以上的需求,以下是实用主义型的Git命令列表

  • git clone
  • git config
  • git branch
  • git checkout
  • git status
  • git add
  • git commit
  • git push
  • git pull
  • git log
  • git tag

接下来,将通过对开始复制仓库进行实例操作,讲解如何使用以上命令

git clone

从git服务器拉取代码

git clone https://github.com/ltfred/git-demo.git

代码下载完成后在当前文件夹中会有一个git-demo的目录,通过 cd git-demo 命令进入目录

git config

配置开发者用户和邮箱

git config user.name ltfred
git config user.email nuyoah08@gmail.com

每次代码提交的时候都会生成一条提交记录,其中会包含当前配置的用户名和邮箱

git branch

创建、重命名、查看、删除项目分支,通过 Git 做项目开发时,一般都是在开发分支中进行,开发完成后合并分支到主干

git branch dev

创建一个名为dev的日常开发分支

git branch -m dev dev-1

如果觉得之前的分支名不合适,可以为新建的分支重命名,重命名分支名为 dev-1

git branch

通过不带参数的branch命令可以查看当前项目分支列表

git branch -d dev-1

如果分支已经完成使命则可以通过 -d 参数将分支删除,这里为了继续下一步操作,暂不执行删除操作

git checkout

切换分支

git checkout dev-1

切换到 dev-1 分支,后续的操作将在这个分支上进行

git status

查看文件变动状态

通过任何你喜欢的编辑器对项目中的 README.md 文件做一些改动,保存

git status

通过 git status 命令可以看到文件当前状态 Changes not staged for commit:改动文件未提交到暂存区

On branch dev-1
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   README.md

no changes added to commit (use "git add" and/or "git commit -a")

git add

添加文件变动到暂存区

git add README.md

通过指定文件名 README.md 可以将该文件添加到暂存区,如果想添加所有文件可用 git add . 命令,这时候可通过 git status 看到文件当前状态 Changes to be committed:文件已提交到暂存区

On branch dev-1
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    modified:   README.md

git commit

提交文件变动到版本库

git commit -m "这里写提交信息"

提交信息的规范可以参考这篇文章

git push

将本地的代码改动推送到服务器

git push origin dev-1

origin 指代的是当前的git服务器地址,这行命令的意思是把 dev-1 分支推送到服务器,当看到命令行返回如下字符表示推送成功了

现在我们回到Github网站的项目首页,点击 Branch:master 下拉按钮,就会看到刚才推送的dev-1分支了

git pull

将服务器上的最新代码拉取到本地

git pull origin dev-1

如果其它项目成员对项目做了改动并推送到服务器,我们需要将最新的改动更新到本地,这里我们来模拟一下这种情况。

进入Github网站的项目首页,再进入 dev-1 分支,在线对 README.md 文件做一些修改并保存,然后在命令中执行以上命令,它将把刚才在线修改的部分拉取到本地,用编辑器打开 README.md ,你会发现文件已经跟线上的内容同步了

如果线上代码做了变动,而你本地的代码也有变动,拉取的代码就有可能会跟你本地的改动冲突,一般情况下 Git 会自动处理这种冲突合并,但如果改动的是同一行,那就需要手动来合并代码,编辑文件,保存最新的改动,再通过 git add .git commit -m 'xxx' 来提交合并

git log

查看版本提交记录

git log

通过以上命令,我们可以查看整个项目的版本提交记录,它里面包含了提交人日期提交原因等信息,得到的结果如下

commit 19fcb2495fe5fd73c21e58ca95c151e896d4fe58 (HEAD -> dev-1)
Author: fred <ltfred@163.com>
Date:   Fri Feb 26 16:00:28 2021 +0800

    feat: add test.py

提交记录可能会非常多,按 J 键往下翻,按 K 键往上翻,按 Q 键退出查看

git tag

为项目标记里程碑

git tag v-1
git push origin v-1

当我们完成某个功能需求准备发布上线时,应该将此次完整的项目代码做个标记,并将这个标记好的版本发布到线上,这里我们以 v-1 为标记名并发布

小结

通过掌握以上这些基本命令就可以在项目中开始用起来了,如果追求实用,那关于 Git 的学习就可以到此结束了,偶尔遇到的问题也基本上通过 Google 也能找到答案,如果想深入探索 Git 的高阶功能,那就继续往下看 深入探索 部分

版权声明:如无特殊说明,文章均为本站原创,转载请注明出处

本文链接:https://www.ltfred.com/article/git-practice-one/