作者:夕夕石(硕爷)
目 录
一、git add
二、git commit
三、git branch
:查看、创建、删除分支
四、git checkout
:操作文件、分支
五、git merge
六、git pull
七、git push
:将本地
版本库推送到远程
服务器
八、git status
,作用:显示工作区
和暂存区
的状态
九、git log
:显示提交日志信息
十、git diff
一、git add
作用:添加需要上传的文件,从工作区
到暂存区
1、将某文件暂存
git add file
2、将当前目录下所有文件暂存
git add .
git版本1.x:将
修改操作
的文件和未跟踪新添加
的文件添加到git系统的暂存区,注意不包括删除
git版本2.x:作用等同于
git add -A .
,将所有文件都暂存,包括新增
+修改
+删除
的文件
3、将当前目录下修改
+删除
的文件暂存
git add -u .
-u 表示将已跟踪文件中的修改和删除的文件添加到暂存区,不包括新增加的文件
4、将当前目录下新增
+修改
+删除
的文件暂存
git add -A .
-A 表示将所有的
已跟踪
的文件的修改
与删除
和新增
的未跟踪的文件都添加到暂存区。
5、总结
git 1.x版本:
命令 | 新增的文件 | 修改的文件 | 删除的文件 | 说明 |
---|---|---|---|---|
git add -A . | √ | √ | √ | 暂存所有 |
git add . | √ | √ | 暂存 新增、修改的文件 | |
git add -u . | √ | √ | 暂存 修改、删除的文件 |
git add -u
是git add --update
的缩写
git 2.x版本:
命令 | 新增的文件 | 修改的文件 | 删除的文件 | 说明 |
---|---|---|---|---|
git add -A . | √ | √ | √ | 暂存所有文件 |
git add . | √ | √ | √ | 暂存所有文件 |
git add add --ignore-removal . | √ | √ | 暂存 新增、修改的文件 | |
git add -u . | √ | √ | 暂存 修改、删除的文件 |
在2.x版本中,
add .
和add -A
的功能相同,用add --ignore-removal .
来代替旧版本add .
的功能。
二、git commit
作用:将暂存区
的改动提交到本地版本库
1、最常用的 -m
git commit -m "message"
最常用的形式,-m后面跟提交描述
2、add
所有并且commit
git commit -a -m "message"
类似于
git add -A .
+git commit -m "message"
3、修改上一次的提交
git commit --amend // 回车后,可以修改上次commit的-m信息
三、git branch
:查看、创建、删除分支
1、查看本地所有分支
git branch
2、查看本地+远程所有分支
git branch -a
3、创建名为dev的分支
git branch dev
4、删除dev分支,-D强制删除分支
git branch -d dev
git branch -D dev // 强制删除分支
5、查看本地分支对应的远程分支(远程分支会显示在中括号)
git branch -vv // 远程分支会显示在中括号
6、关联本地分支与远程分支
git branch --set-upstream-to=origin/远程分支名
或者简化为:git branch -u origin/远程分支名
7、给分支重命名(当前分支不能是要改名的分支)
git branch -m oldName newName
四、git checkout
:操作文件、分支
1、放弃单个文件filename的修改
git checkout filename
2、将分支切换到master
git checkout master
3、切换到已有的dev分支或创建并切换到dev分支
git checkout -b dev
如果分支存在则只切换分支,若不存在则创建并切换到dev分支
4、以远程分支
为基础创建本地分支
git checkout -b 本地分支名 origin/远程分支名
五、git merge
1、将dev分支内容合并到当前分支
git merge dev
六、git pull
将远程主机的最新内容拉下来后直接合并
git pull // =git fetch + git merge
七、git push
:将本地
版本库推送到远程
服务器
1、将本地当前分支
推送到远程指定分支
git push origin master
2、push本地某分支
到远程分支
:
git push origin 本地某分支名:远程分支名
3、删除远程分支
,保留本地分支
:
git push origin --delete [远程分支名]
或者:git push origin :远程分支名
4、推送到远程指定分支
,且以后可以简写为git push
:
git push -u origin 远程分支名 // -u参数
(简写后,推送到的是你上次-u指定的远程分支)
八、git status
作用:显示工作区
和暂存区
的状态
九、git log
:显示提交日志信息
1、将显示最近三次的提交
git log -3
2、简化输出:git log --oneline
仅仅输出commit hash 前7个字符串和commit message.
$ git log --oneline
0005d1e3f (HEAD -> master, origin/master, origin/HEAD) Fix typo (#14576)
f290138d3 react-debug-tools accepts currentDispatcher ref as param (#14556)
b4ad8e947 rename useImperativeMethods -> useImperativeHandle (#14565)
ab03e3d65 Inject ReactCurrentDispatcher ref to DevTools (#14550)
19ef0ec11 Separate current owner and dispatcher (#14548)
3、git log -p:输出每次commit的改动的详细代码行变动,与diff一致
$ git log -p
commit 0005d1e3f54b79fe4707fbccc44b89e0fb4ce565 (HEAD -> master, origin/master, origin/HEAD)
Author: Carl Mungazi <c_mungazi@hotmail.co.uk>
Date: Sat Jan 12 05:46:05 2019 +0000
Fix typo (#14576)
diff --git a/packages/scheduler/src/Scheduler.js b/packages/scheduler/src/Scheduler.js
index 480ec81c4..a6e27850d 100644
--- a/packages/scheduler/src/Scheduler.js
+++ b/packages/scheduler/src/Scheduler.js
@@ -194,7 +194,7 @@ function flushWork(didTimeout) {
firstCallbackNode !== null &&
!(enableSchedulerDebugging && isSchedulerPaused)
) {
- // TODO Wrap i nfeature flag
+ // TODO Wrap in feature flag
// Read the current time. Flush all the callbacks that expire at or
// earlier than that time. Then read the current time again and repeat.
// This optimizes for as few performance.now calls as possible.
commit f290138d329aa7aa635d88868705b23372e9f004
Author: Brian Vaughn <brian.david.vaughn@gmail.com>
Date: Thu Jan 10 12:56:52 2019 -0800
4、git shortlog:以作者分类显示简要的commit
刘翔 (5):
调试iOS
调试iOS
change
change
change
红月 (27):
add cases
add and modify cases
add case
add cases
add and modify cases
add cases
update
update
update
modify cas
5、git shortlog -s:可以用来统计每个作者的commit数量
[xixishi@shuoDeMBP:java-dev (zs)]$ git shortlog -s
40 徐庆丰
5 左宗棠
27 马云
[xixishi@shuoDeMBP:java-dev (zs)]$
6、git shortlog -n:可以用来对统计的量进行倒序排列
7、git log --author="硕爷":过滤只显示给定的用户
8、git log --no-merges:不显示merge的记录
9、查询commit1与commit2之间的记录,包括commit1和commit2
git log commit1_id commit2_id
10、指定格式显示日志信息。
git log --pretty=oneline
git log --pretty=format:"%an %ae %ad %cn %ce %cd %cr %s" --graph
11、git show
作用:显示各种类型的对象。默认显示最近一次提交内容
十、git diff
作用:显示提交和工作树等之间的更改。
1、默认显示工作区 vs 暂存区
git diff
2、工作区 vs 版本库
git diff head
3、 暂存区 vs 版本库
git diff --cached
作者:夕夕石(硕爷)
网友评论