美文网首页
Git 常用操作

Git 常用操作

作者: yansh15 | 来源:发表于2017-08-13 15:27 被阅读0次
  • 示例中 Git 仓库目录为 /git/OnlineBookingSystem/
  • 下文中所有路径均从根目录 /git/ 开始。
  • $ 为终端提示符。当前路径一般会标识在 $ 前方的括号内,如果命令较多,则标识在代码段头部。
  • # 后为输出内容。
  • %后为笔者注释内容

创建仓库目录

(git) $ mkdir OnlineBookingSystem
(git) $ cd OnlineBookingSystem

查看帮助信息

git help 命令用于查看常见命令的帮助信息。

查看当前目录状态

git status 命令用于查看当前目录中是否存在仓库,如果存在,报告仓库状态。

(git/OnlineBookingSystem)
$ git status
  # fatal: Not a git repository (or any of the parent directories): .git
  % 注释:该目录中暂时还没有建立过git仓库。

建立新仓库

git init 命令用于建立一个全新的仓库。

(git/OnlineBookingSystem)
$ git init
  # Initialized empty Git repository in C:/Users/11523/Desktop/git/OnlineBookingSystem/.git/
  % 注释:在该目录中新建仓库。
$ git status
  # On branch master
  #
  # Initial commit
  #
  # nothing to commit (create/copy files and use "git add" to track)
  % 注释:新仓库已经建立,默认在master分支。

跟踪新文件

git add <filename> 命令用于将指定文件加入跟踪的范围并将变更存至缓存区。

该命令可以多次使用,缓存区会存储每个文件在最后一次跟踪时的状态。

(git/OnlineBookingSystem)
  % 注释:使用如下命令前,在该目录新建一个README.md文件。
$ git add README.md
$ git status
  # On branch master
  #
  # Initial commit
  #
  # Changes to be committed:
  #   (use "git rm --cached <file>..." to unstage)
  #
  #         new file:   README.md
  % 注释:已经开始跟踪README.md,等待变更被提交。也可以使用"git rm --cached <file>..."移除该缓存。

提交

完成阶段性的工作之后,可以将代码的变动提交到仓库。

提交变更

git commit -m "commit information" 命令用于提交当前缓存中的变更,并且可以指定提交的信息。

提交变更实际上是将缓存区中记录的变更提交至仓库。若最后一次 add 操作后修改了文件甚至根本没有追踪过某些文件,则这些文件的状态不会被提交。因此建议在提交变更前使用 git status 命令查看当前目录状态,确保缓存区的文件状态都是最新的。

(git/OnlineBookingSystem)
$ git commit -m "README.md"
  # [master (root-commit) 2f31dad] README.md
  #  1 file changed, 0 insertions(+), 0 deletions(-)
  #  create mode 100644 README.md
  % 注释:该变更已经提交。
$ git status
  # On branch master
  # nothing to commit, working tree clean
  % 注释:当前本地仓库已经最新,无需提交。
查看提交记录

git log" 命令用于查看所有 commit 记录。

(git/OnlineBookingSystem)
$ git log
  # commit 2f31dadcb141ad4ebf9452ec64fb81263e32a8c4 (HEAD -> master)
  # Author: UserName <example@abc.com>
  # Date:   Sat Aug 12 23:33:10 2017 +0800
  # 
  #     README.md
  % 注释:该记录就是上述提交的记录。

分支

分支(branch)相当于当前状态的一个副本,可以在该副本上继续工作而不必担心影响到原来的状态。

Git 的分支方式与其他版本控制系统不同。在很多版本控制系统中,创建分支通常意味着拷贝一份完整的代码,效率较低。而 Git 通过分支指针的方式实现了高效率的分支操作,因此建议使用分支来控制工作流程。

查看当前分支状态

git branch 命令用于查看当前分支状态。

(git/OnlineBookingSystem)
$ git branch
  # * master
  % 注释:当前只有一个分支master,并且处于激活状态。
建立新分支

git branch <branchname> 命令用于创建新分支(但不会改变分支激活状态)。

(git/OnlineBookingSystem)
$ git branch develop
  % 注释:新建分支develop。
$ git branch
  #   develop
  # * master
  % 注释:当前有两个分支(master、develop),并且master分支处于激活状态。
更改活动分支

git checkout <branchname> 命令用于激活指定分支。

(git/OnlineBookingSystem)
$ git checkout develop
  # Switched to branch 'develop'
$ git branch
  # * develop
  #   master
  % 注释:当前有两个分支(master、develop),并且develop分支处于激活状态。
新建并激活分支

git checkout -b <branchname> 命令用于创建新分支并激活该分支,等效于使用上述两个命令。

合并分支

git merge <branchname> 命令用于合并分支。使用时需切换到最后保留的分支上,执行此命令将指定分支合并到当前分支上。

如果两个分支都对某个文件做了修改,那么合并操作中会产生冲突。冲突内容会被 Git 表明在文件中,在文件中解决冲突后再次提交即可解决冲突。

删除无用分支

git branch -d <branchname> 命令用于删除无用分支。其中无用分支包括新建的分支与已经合并到其他分支的分支。

强制删除分支

git branch -D <branchname> 命令用于强制删除 git branch -d <branchname> 命令无法删除的分支,例如尚未合并到其他分支的含有新代码的分支。

版本标签

git tag <version> 命令用于产生版本标签。笔者建议代码开发至新版本时直接创建一个新分支 <versionname> 存放该版本代码,而不是使用标签。

相关文章

  • 组件化(第一篇)

    组件化 git 常用操作指令 cocoapods的基本使用 cocoapods本地私有库 一、git 常用操作指令...

  • git的常用操作

    git的常用操作

  • GIt 操作补充

    常用的git操作命令 常用的git操作命令已经能够满足日常的工作需求 现补充一些高级命令 git branch -...

  • git使用整理

    git使用常用操作-常用基本命令 克隆:git clone 【url】 查看修改状态: git status (g...

  • GIT 版本管理 常用命令

    Git 常用命令流程图 Git常用操作命令: 初始化创建:$ git init //检出仓库:$ git clon...

  • 🍏常用 git 操作指北

    ? 常用 git 操作指南 ? git图形界面操作软件 ? 开发流程 git clone 拉取项目代码,不必多说 ...

  • git常用操作 🎀

    git常用操作 ? 基本知识 查看git信息 修改git配置 提交类操作 分支类操作 创建分支 查看分支 修改分支...

  • git常用操作命令

    git常用操作命令 1 git工作原理图 2 git远程操作 2.1 git clone 远程操作的第一步,通常是...

  • 真 git 操作大全 不会就看

    git 常用命令git 远程操作git 撤销操作 推酷git大全 react router4 中文文档 koa 简...

  • git常用操作

    git缩写配置: 在.gitconfig文件中添加: [alias] git常用操作: git clone 克隆一...

网友评论

      本文标题:Git 常用操作

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