Ucself


嗨,我是ucself,一名大前端开发工程师。


总结与创造,学习与创新,搭建自我知识体系。

Git 2、基础

前言

       在工作使用到很多常用工具,遇到问题百度/谷歌一下就知道怎么使用,日积月累了很多知识点和使用技能,但是没有整理成专题的知识体系,为了方便以后遇到问题或者空闲阅读的时候当字典查阅。就从这篇开始对 Git 知识体系进行连载。

阅读来自 Pro Git

Git 基础

       在学习完本章之后,你应该能够配置并初始化一个仓库(repository)、开始或停止跟踪(track)文件、暂存(stage)或提交(commit)更改。 本章也将向你演示如何配置 Git 来忽略指定的文件和文件模式、如何迅速而简单地撤销错误操作、如何浏览你的项目的历史版本以及不同提交(commits)间的差异、如何向你的远程仓库推送(push)以及如何从你的远程仓库拉取(pull)文件。

获取 Git 仓库

       1、在现有目录中初始化仓库

git init

       2、克隆现有的仓库

git clone git@github.com:Ucself/GitStudyRepository.git

git clone git@github.com:Ucself/GitStudyRepository.git  RepositoryAlias

记录每次更新到仓库

       1、文件的状态变化周期

生命周期

       2、检查当前文件状态

git status

       3、跟踪新文件

git add README

       4、暂存已修改文件

git add CONTRIBUTING.md

       5、状态简览

$ git status -s

       6、忽略文件

       我们可以创建一个名为 .gitignore 的文件,列出要忽略的文件模式,文件 .gitignore 的格式规范如下:

  • 所有空行或者以 # 开头的行都会被 Git 忽略。
  • 可以使用标准的 glob 模式匹配。
  • 匹配模式可以以(/)开头防止递归。
  • 匹配模式可以以(/)结尾指定目录。
  • 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。

       7、查看已暂存和未暂存的修改

git status
git diff

       8、提交更新

git commit -m "Story 182: Fix benchmarks for speed"

       9、提交更新,跳过使用暂存区域

       给 git commit 加上 -a 选项

git commit -m "Story 182: Fix benchmarks for speed" -a

       9、移除文件

git rm PROJECTS.md
rm 'PROJECTS.md'

       9、移动文件

git mv README.md README

查看提交历史

       1、查看提交历史

git log

git log 的常用选项

选项 说明
-p 按补丁格式显示每个更新之间的差异。
–stat 显示每次更新的文件修改统计信息
–shortstat 只显示 –stat 中最后的行数修改添加移除统计。
–name-only 仅在提交信息后显示已修改的文件清单。
–name-status 显示新增、修改、删除的文件清单。
–abbrev-commit 仅显示 SHA-1 的前几个字符,而非所有的 40 个字符。
–relative-date 使用较短的相对时间显示(比如,“2 weeks ago”)。
–graph 显示 ASCII 图形表示的分支合并历史。
–pretty 使用其他格式显示历史提交信息。可用的选项包括 oneline,short,full,fuller 和 format(后跟指定格式)。

       2、限制输出长度

git log -(5)

限制 git log 输出的选项

选项 说明
-(n) 仅显示最近的 n 条提交
–since, –after 仅显示指定时间之后的提交。
–until, –before 仅显示指定时间之前的提交。
–author 仅显示指定作者相关的提交。
–committer 仅显示指定提交者相关的提交。
–grep 仅显示含指定关键字的提交
-S 仅显示添加或移除了某个关键字的提交

撤消操作

       1、你提交后发现忘记了暂存某些需要的修改

$ git commit -m 'initial commit'
$ git add forgotten_file
$ git commit --amend

最终你只会有一个提交 - 第二次提交将代替第一次提交的结果。

       2、取消暂存的文件

git reset HEAD CONTRIBUTING.md

       3、撤消对文件的修改

git checkout -- CONTRIBUTING.md

远程仓库的使用

       1、查看远程仓库

git remote -v

       2、添加远程仓库

git remote add pb https://github.com/paulboone/ticgit

       3、从远程仓库中抓取与拉取

git fetch [remote-name]
git pull [remote-name]

       4、推送到远程仓库

git push [remote-name] [branch-name]
git push origin master

       5、查看远程仓库

git remote show [remote-name]
git remote show origin

       6、远程仓库的移除与重命名

git remote rename pb paul
git remote rm paul

打标签

       1、列出标签

git tag

       2、创建标签

附注标签

git tag -a v1.4 -m 'my version 1.4'

轻量标签

git tag v1.4-lw

       3、后期打标签

git tag -a v1.2 9fceb02

       4、共享标签

git push origin v1.5
git push origin --tags

       5、检出标签

git checkout -b [branchname] [tagname]

Git 别名

       1、查看所有别名

git alias

       2、添加别名

git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status

       3、移除别名

git config --global --unset alias.acp
上一篇文章

Git 3、分支

下一篇文章

Git 1、起步