Git 使用总结
码农必须会 GIT 相信大多数人都不是很熟悉GIT,我也是,这玩意我觉得好难。
1 git stash
idea
中代码写的好好的,突然必须切到其他分支去,但是刚刚写的代码我还不想commit
,咋办?
使用git stash
把代码先暂存起来。
- 先
git stash
暂存起来。 然后又下修改了代码,那就在git stash
暂存起来… git checkout banchB
你做了一些事,想回到之前的分支banchA
git checkout branchA
git stash list
查看一下暂存的文件信息git stash pop
弹出栈顶 …git stash pop
弹出栈底.
2 git diff
git格式的diff,使用的是合并格式diff的变体。
diff --git a/f1 b/f1
index 6f8a38c..449b072 100644
--- a/f1
+++ b/f1
@@ -1,7 +1,7 @@
a
a
a
-a
+b
a
a
a
第一行表示结果为git格式的diff
diff --git a/f1 b/f1
进行比较的是,a版本的f1(即变动前)和b版本的f1(即变动后)。
第二行表示两个版本的git哈希值(index区域的6f8a38c对象,与工作目录区域的449b072对象进行比较),最后的六位数字是对象的模式(普通文件,644权限)。
index 6f8a38c..449b072 100644
第三部分,也是文件的基本信息
--- f1 2012-08-29 16:45:41.000000000 +0800
+++ f2 2012-08-29 16:45:51.000000000 +0800
"—“表示变动前的文件,”+++"表示变动后的文件。
第四部分,变动的位置用两个@
作为起首和结束
@@ -1,7 +1,7 @@
前面的"-1,7"分成三个部分:减号表示第一个文件(即f1),"1"表示第1行,“7"表示连续7行。合在一起,就表示下面是第一个文件从第1行开始的连续7行。同样的,”+1,7"表示变动后,成为第二个文件从第1行开始的连续7行。
第五部分是变动的具体内容
a
a
a
-a
+b
a
a
a
除了有变动的那些行以外,也是上下文各显示3行。它将两个文件的上下文,合并显示在一起,所以叫做"合并格式"。每一行最前面的标志位,空表示无变动,减号表示第一个文件删除的行,加号表示第二个文件新增的行。
- 尚未缓存的改动:git diff
- 查看已缓存的改动: git diff --cached
- 查看已缓存的与未缓存的所有改动:git diff HEAD
- 显示摘要而非整个 diff:git diff --stat
3 git remote
## 删除本地分支
git branch -d 分支名
git branch -D 分支名
## 同步远程删除的分支
prune 英[pruːn]
美[pruːn]
n. 干梅子; 西梅干; 李子干;
v. 削减; 修剪树枝; 打杈; 裁减; 精简;
[例句]The hedge needs pruning back.
树篱需要修剪了。
[其他] 第三人称单数:prunes 复数:prunes 现在分词:pruning 过去式:pruned 过去分词:pruned
git remote show origin
git remote prune origin
## 删除远程分支
git push origin --delete 分支名