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切换分支。
使用
-b
参数创建并切换分支,git checkout -b dev
。
合并冲突时,--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指定提交信息的编辑器。
push 新分支时,默认使用本地分支的名字为远程分支的名字:git config --global push.default current
git commit 信息规范
why
- 提供更多的历史信息,方便快速浏览。
- 可以过滤某些 commit(比如文档改动),便于快速查找信息。
- 可以直接从 commit 生成 Change log。
AngularJS 规范
它是由 Google 推出的一套提交消息规范标准,也是目前使
用范围最广的规范。有一套合理的手册也较为系统化;并且还有配套的工具可以供我们使用。
格式
<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
要求
- 消息只占用一行,任何行都不能超过 100 个字符
- 允许使用 GitHub 以及各种 Git 工具阅读消息
- 提交消息由页眉、正文和页脚组成,由空行分隔