Git、反射、动态代理、AOP

Git相关总结

Git基本命令

  • git init 初始化当前文件夹为git仓库,目录中会多出.git文件夹,用于存储git的相关内容

.git目录下的相关文件及其作用

       ORIG_HEAD为远程仓库的当前引用

       文件内容: refs/heads/master  

       COMMIT_EDITMSG

文件内容:本地最后一次提交的信息记录

       HEAD为本地仓库的当前引用

       文件内容:4dea39d66543c9a86a0f7753b5c485319ae6f28f 为对应的commitId

index

文件内容:暂存区相关内容

packed-refs

克隆仓库时的引用

config

本仓库的相关配置信息

 

refs/heads/<branchName>:对应分支的最新commitId

refs/remotes 目录下为远程仓库及远程分支的对应分支commitId(其中也有指向某一分支的HEAD,指向当前远程分支)

refs/tags为标签相关信息,略过

logs/refs

             /heads   本地仓库的执行命令记录

             /remotes 远程仓库对应的执行命令记录

 

hooks

存储一些shell脚本,例如可以编写脚本实现commit前检验代码

      info/exclude用于排除不受git控制的内容

      objects

记录每个commit版本的信息,git版本信息数据的核心地

 

  • git status 查询工作区与暂存区文件的状态

工作区与本地仓库对比

工作区与暂存区对比

暂存区与工作区对比

  • git add 文件名 添加文件到暂存区  git add . 添加所有文件到暂存区

git add -u 当add a.txt到缓存区后,再次修改a.txt 同时新建b.txt 执行该命令,只会提交a.txt 不会提交新建文件b.txt

  • git commit -m “message”  提交当前缓存区的信息到本地仓库
  • git push 将本地仓库的信息推到远程仓库

推的过程可能出现问题,因为没有拉去最新的仓库信息,需使用git pull进行拉去后再git push

  • git pull 将远程仓库信息拉取到本地,并合并merge 大致相当与git fetch+git merge,合并的过程中可能会遇到冲突,需要处理,同下merge处理
  • git fetch 将远程仓库信息拉取到本地仓库
  • git merge 将信息进行合并

合并的过程中会冲突,如下:

<<<<<<< HEAD
Creating a new branch is mybiubiuh me_ou.
=======
Creating a new branch is yourbiubiuh me_ou.
>>>>>>> biubiuh

<<<<HEAD 当前分支的内容       >>>>biubiuh 为biubiuh分支的内容

  • git log 查询git提交的日志

git log --all 查询所有分支的提交日志

git log -p -2 查询最近两次的提交差异

git log -n2 查询最近两天的提交信息

  • git reflog 当回退到以前的版本后,使用git log只能看到当前版本之前的log日志,使用git reflog能看到当前版本之后的内容
  • git rm 删除本地工作区文件,可使用git status查看    使用git commit后从本地仓库中也删除掉
  • git rm --cached  删除已经提交add到缓存区的文件
  • git mv  name newname 文件重命名,需要commit
  • git <命令> -h 帮助  git <命令> help    git help  
  • git checkout与git reset

两个场景:

  1. 当add a.txt到缓存区后,对a.txt进行了修改,使用git checkout <文件名>可以使工作区的当前文件内容回退到缓存区的版本。
  2. 当add a.txt到缓存区后,后悔了,使用git reset HEAD <文件名> 使得缓存区的该文件被删除

注意:当add a.txt到缓存区后,修改a.txt或者删除a.txt后  使用git reset HEAD <文件名>,缓存区的该文件被删除,同时工作区的内容并不会变为缓存区的版本(例如工作区删除该文件,reset后依然不会出现)。

git reset --hard <commitId> 将版本回退到commitId版本

  • git diff 对比内容差异

git diff --<文件名> 工作区与暂存区的该文件内容对比

git diff --cached 暂存区与仓库对比

git diff <commitIdFirst> <commitIdSecond> --<文件名> 两个版本的该文件对比

git diff <branchName1> <branchName2> 两个分支进行对比

  • git clone

待续。。。。。。

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值