重点:Git的使用

【01 常见Git命令】    

#【001】

统一概念:工作区:改动(增删文件和内容)

暂存区:输入命令:git add 改动的文件名,此次改动就放到了 ‘暂存区’

本地仓库(简称:本地):输入命令:git commit 此次修改的描述,此次改动就放到了 ’本地仓库’,每个 commit,我叫它为一个 ‘版本’。

远程仓库(简称:远程):输入命令:git push 远程仓库,此次改动就放到了 ‘远程仓库’(GitHub 等)

commit-id:输出命令:git log,最上面那行 commit xxxxxx,后面的字符串就是 commit-id

#【002】

#编辑修改等

git show # 显示某次提交的内容 git show $id

git checkout <file-name> #放弃工作区的修改 ,类似于 svn revert

git revert <commit-id> #以新增一个 commit 的方式还原某一个 commit 的修改

#比较diff

git diff <branch1>..<branch2> # 在两个分支之间比较

git diff --staged # 比较暂存区和版本库差异

git diff --cached # 比较暂存区和版本库差异

git whatchanged --since='2 weeks ago' #查看两个星期内的改动

git diff --word-diff #详细展示一行中的修改

#查看提交记录

git log -p -2 # 查看最近两次详细修改内容的diff

git blame <file-name> #查看某段代码是谁写的, blame 的意思为‘责怪’,你懂的。

git reflog #显示本地更新过 HEAD 的 git 命令记录 ,类似 shell的 history

git log --all --grep='<given-text>' #在 commit log 中查找相关内容

#Git 本地分支管理

git branch -r # 查看远程分支

git branch <new_branch> # 创建新的分支

git co <branch> # 切换到某个分支

git co $id # 把某次历史提交记录checkout出来,但无分支信息,切换到其他分支会自动删除

git branch -d <branch> # 删除某个分支

git branch -vv 展示本地分支关联远程仓库的情况

git merge <branch> # 将branch分支合并到当前分支

#Git暂存管理

git stash # 暂存

git stash list # 列所有stash

git stash apply # 恢复暂存的内容

git stash drop # 删除暂存区

#Git远程分支管理

git pull --no-ff # 抓取远程仓库所有分支更新并合并到本地,不要快进合并

git push # push所有分支-- 要慎用,还是要push具体的分支好一点 https://www.cnblogs.com/djiankuo/p/6492533.html

git push -u origin develop # 首次将本地develop分支提交到远程develop分支,并且track

git push origin master # 将本地主分支推到远程主分支

git push origin dev_20190513_registrationpath #我们的java项目 数据统计的Git push命令

#Git远程仓库管理

git remote -v # 查看远程服务器地址和仓库名称

git remote show origin # 查看远程服务器仓库状态

【02 】本地仓库“三棵树”    

本地仓库由 git 维护的三棵“树”组成。

1)【图01】本地仓库git 三棵树

 

本地仓库git 三棵树

2)【图02】git本地三棵树的相互转化命令:https://josh-persistence.iteye.com/blog/2215214

git本地三棵树的相互转化命令

3)三棵树的更详细的命令示意图

 

三棵树的更详细的命令示意图

git commit的时候,只是提交的 缓存区内的内容(如果你git add过,否则也等同你本地工作区内容的提交)

== git add可以实现我之前在 云主机上保存临时文件的tmpdjp的操作

==git diff 对比的是工作区和 缓存区的区别

==git diff --cached 对比是 缓冲区和本地的 head版本库的对比

另外需要指出来的是 git stash 不在上面的“三颗树”里,git stash 是暂存区,区别于 缓存区“stage” 

git stash的用法见 https://www.cnblogs.com/tocy/p/git-stash-reference.html

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值