git常用命令行即拓展

是一个软件管理器,分布式,有一个本地仓库,中心服务器,代码提交到本地仓库再推送到中心服务器上,保障工作可以一直是正常执行,即使中心服务器挂

git init 之后会产生一个.git自己的本地仓库,一是与中心服务器产生连接,更新最新代码到自己的git仓库,二是将一个已经存在的项目克隆到自己的木灵成为自己的git仓库
config就是配置文件  有中心服务器和分支信息,logs目录是相关操作产生的日志,日志是我们操作的唯一凭证 HEDA文件指向当前的分支 object存储的是所有的数据,也就是快照,refs目录里存贮的是数据提交对象的指针
远程仓库  中心服务器
本地仓库
暂存区
工作目录  git init  暂存区,和本地仓库 存数据 

git所存储的是一系列的文件快照,,发现哪个文件快照有变化,就会提示你需要添加到暂存区,或是提交到仓库,来保证工作目录是干净的 被跟踪的,未被跟踪的 git status

存储的是key-value键值对,根据key来查找value 根据指针寻址 commit tree bolb

blob对应的就是文件快照种发生变化的文件内容  
tree记录了文件快照中各个目录和文件的结构关系  指向了被跟踪的快照
commit  记录了每次提交到本地仓库的文件快照   tree  commit   每次提交都有一个commit对象来记录  有一个指针指向上一次提交的commit对象 形成一个链表  可以找到对应版本并恢复  HEAD对象指向的是最后一个commit对象 即使最后一个版本
git add将项目从工作目录添加到缓存区             git rm删除
git commit - m"一些说明信息" 将项目从缓存区提交到本地仓库          git rm --cached 删除
git commit -a将项目从工作目录提交到本地仓库
git push将项目从本地仓库提交到远程仓库
git pull / git fetch 从远程仓库转移到本地仓库
git checkout 从缓存区下载到工作目录
git checkout HEAD 从本地仓库下载到工作目录
git diff 比较版本,缓存区与工作目录之间的比较
git diff --cached 比较版本 本地仓库与缓存区之间的比较
git diff HEAD比较本地仓库与工作目录的不同
git status 可以指引该做什么  工作目录是否干净   git log 列出操作产生的日志  还有提交后的commit的对象的id
git show +对象名
创建分支  git branch developer(分支名)
git branch
git checkout master切换到主分支
git marge developer 合并分支
git branch -D dedveloper 将分支删除
git branch查看分支
主分支  分布重大版本
日常开发    Developer
​
临时性分支  功能  feature
        预发布  release
        修补  bug
        可以修建一个自己的分支
        git branch -a -是详细的意思 全部展示出来
git branch -a查看已有分支
git checkout -b <:>切换到已有分支
git branch <:> 创建分支
git checkout <:> 切换分支
git checkout -b <:> 创建并切换分支
{
    git checkout master 先切换到master分支
    git merge fenzhi 合并分支
}
需要先切换然后才能合并
git branch -d <:> 删除本地分支
git push origin --delete <> 删除远程分支
git branch <分支名称> <提交号> git log可以查出提交号
git log --grapch 查看分支图
git log --graph --pretty=哦呢line-- abbrev-commit 查看简明的分支图
git branch -m <当前分支名> <新的分支名> 修改名字

stash

git stash 保存已写的代码 保存未commit的代码
git stash save "备注的内容"
git stash list 理出stash中的所有内容
git stash clear  删除stash的所有记录
git stash apply 应用最近一次的stash
git stash pop 应用最近一次的stash 随后删除该记录
git stash drop 删除最近的一次stash
git stash apply stash@{1} 应用第二条记录

reset--soft

git rest --soft HEAD^ 恢复最近一次commit
git reset --soft commit号   直接rest该版本号之后的所有commit

cherry-pick

git cherry-pick 首先需要获得想要复制的commitHash 然后切换分支,执行命令 进行复制
git cherry-pick   多个版本号,,一次性转移多个提交
git cherry-pick commmit^1..commit2 一个区间的commit都应用到当前分支,和上面的命令类似
​
git cherry-pick --abort 在代码冲突后,放弃或者退出流程
git cherry-pick --quit 退出cherry-pick

revert

git revert  就是撤回某一个特定的提交  普通提交
git revert -m 1 <comitHash> 合并提交是两条分支的交集节点,而git不知道撤销的是哪一分支,所以会报错,-m后面加上1 就是保留主分支的commit

reflog

rest到b
就 git reset --hard (b commitHah)
git reflog  找到全局日志 即找该commit的Hash
git reset --hard commitHah  即可恢复该commit
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值