Hope to have what you need

如何流畅丝滑的使用git

    Linux

  1. git 使用
    1. basic
    2. view
    3. change
    4. option
  2. git 设置
  3. git commit 信息规范

git 使用

basic

git init 可以将一个文件夹初始化为一个 git 目录,会生成一个.git的隐藏目录。

git remote add <remote> <branch> <url> 可以帮助我们连接到一个远程的仓库。

git clone [-b branch-name] <url> 可以克隆一个远程仓库到本地,-b参数可以指定分支。

view

git status查看工作树状态。

-u参数用来添加被追踪的文件,即新建文件不会被添加。

git diff <file>查看文件的改变。

git log 查看commit提交信息日志。

-graph以图的形式显示。 -all查看全部分支。 -oneline条件信息只显示一行。

change

git add <file>可以添加文件的变化到暂存区,可以用.表示添加所有变化。

git commit用来提交文件,回车后自动打开编辑器让你编辑提交信息。

可以通过-m <msg>在命令行添加提交信息。 通过-amend 参数将本次提交添加到上一次提交中,加上--no-edit参数可以不同编辑提交信息。

git push将本地分支推送到远程,-f参数可以强制推送。

git fetch将远程最新的内容拉到本地。

git fetch <remote> <remotebranch>:<localebranch> 将远程最新的内容拉到本地。

git merge [branch-name]合并分支,默认合并远程分支;可以将指定分支合并到当前分支。

git pull等于git fetch+git merge

option

git branch [branch-name]查看分支或者创建新分支。

git checkout切换分支。

git checkout <branch-name> <path-name> [file-name]合并分支制定文件

使用-b参数创建并切换分支。 合并冲突时,--ours|--theirs [file]选择使用哪个分支。

git stash Can hide your uncommitted changes.

git stash pop Can restore your hidden changes.

git reset 复位操作,可以用于add, commit

git reset HEAD [file] 撤销添加操作。 git reset \<HEAD~n|版本号\> 退回上 n 个版本或指定版本 --hard 清楚工作区 --merged 回滚时不清楚不要的版本工作区 --soft 仅撤回提交,工作区内容不变 --keep 清楚提交,保持工作区不变


git 设置

使用HTTP协议时,可以使用git config credential.helper store来记住用户名和密码。

可以使用git config --global core.editor /usr/bin/vim指定提交信息的编辑器。


git commit 信息规范

why

  1. 提供更多的历史信息,方便快速浏览。
  2. 可以过滤某些 commit(比如文档改动),便于快速查找信息。
  3. 可以直接从 commit 生成 Change log。

AngularJS 规范

它是由 Google 推出的一套提交消息规范标准,也是目前使 用范围最广的规范。有一套合理的手册也较为系统化;并且还有配套的工具可以供我们使用。

在这里插入图片描述
格式
1
2
3
4
5
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
要求
  • 消息只占用一行,任何行都不能超过 100 个字符
  • 允许使用 GitHub 以及各种 Git 工具阅读消息
  • 提交消息由页眉、正文和页脚组成,由空行分隔
page PV:  ・  site PV:  ・  site UV: