最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • Git基本使用及HEAD、fetch问题

    正文概述 掘金(4xi)   2021-06-13   636

    ---Git使用

    Git配置

    Git四个关键区域

    对于git操作流程,主要有一下四个关键区域:工作区(workspace),暂存区(Index),本地仓库(Repository),远程仓库(Remote)

    1. 工作区 本地电脑存放项目文件的地方
    2. 暂存区 就是将文件暂存的地方,通常使用add命令将工作区文件添加进暂存区内
    3. 本地仓库

    通常通过commit等命令将暂存区提交给master分支上,也就是意味打了一个版本,也可以说代码提交到了本地仓库中 4. 远程仓库 线上的git服务器,如gitlab,github,gitee上的项目就是一个远程仓库 Git基本使用及HEAD、fetch问题

    Git操作指令

    一.工作区

    将工作区中的项目配置git进行管理,将项目使用git初始化

    git init
    注意:生成的 .git 目录中存放的是本地库相关文件,不要删除
    

    从远程仓库拉取项目:

    git clone <url>
    

    提交工作区所有文件至暂存区

    git add .
    

    提交工作区指定文件至暂存区

    git add <file 0> <file 1> .....<file n>
    

    提交工作区指定文件夹至暂存区

    git add [dir]
    

    撤销、丢弃工作区的修改。也就是就是让这个文件回到最近一次git commit或git add时的状态。

    git checkout --<file>
    

    同时删除工作区和暂存区文件

    git rm <file1> <file2>
    

    取消暂存区已经暂存的文件:

    git reset HEAD <file>...
    

    查询当前工作区所有文件的状态

    git status
    

    比较工作区中当前文件和暂存区之间的差异

    git diff
    

    二.暂存区

    提交更改

    git commit -m [message]
    

    把暂存区的指定文件提交到本地仓库中的当前所在分支

    git commit [file1] [file2] ... -m [message]
    

    比较暂存区与上一版本的差异

    git diff --cached
    

    比较暂存区指定文件与上一版本的差异

    git diff <file-name> --cached
    

    查看历史记录

    git log #可以显示所有提交过的版本信息
    git reflog  #常用(可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作))
    git log --greph #图形显示,更直观
    git log --pretty=oneline #漂亮一行显示
    

    创建分支

    git branch <branch-name>
    

    从当前分支切换到其他分支

    git checkout <branch-name>
    

    删除分支

    git branch -d <branch-name>
    

    指定分支合并到当前分支

    git merge <分支名>
    

    显示本地仓库的所有分支

    git branch
    
    • 第一步:编辑,删除特殊标记<<< ===
    • 第二步:修改到满意位置,保存退出
    • 第三步:添加到缓存区 git add 文件名
    • 第四步:提交到本地库git commit -m '日志信息' 注意:后面一定不能带文件名

    三.本地仓库

    获取远程仓库信息

    git fetch <远程主机名> <分支名>
    

    将本地仓库某分支推送到远程仓库上

    git push [remote-name] [branch-name]
    

    查看远程仓库的详细信息

    git remote show origin
    

    取回远程主机某个分支的更新,再与本地的指定分支合并

    git pull
    

    Git中的分支

    一.Git中的HEAD和master

    在git中,我们可以把HEAD理解成一个指针,这个指针指向我们的开发分支。如下图所示,当我们当前处于master分支时,HEAD指向了master分支。 Git基本使用及HEAD、fetch问题

    此时,当我们(checkout)检出到dev分支时,那么HEAD指针就会指向dev指针。

    git checkout dev
    git branch
    * dev
      master
    

    Git基本使用及HEAD、fetch问题

    当我们在dev上进行开发提交,dev就会指向当前分支的最新提交,而master分支依旧保持master之前的提交状态 Git基本使用及HEAD、fetch问题

    当我们把dev合并到master上,git将master指向dev 的当前提交,完成合并 Git基本使用及HEAD、fetch问题

    git checkout master
    git merge dev
    

    二.git fetch + git merge(git rebase) = git pull(大多数情况)

    Git基本使用及HEAD、fetch问题

    当线上master的位置随着其他人的代码文件提交。线上的master将与本地orgin/master不再对应。本地master也与线上master所处的位置不在同一分支

    Git基本使用及HEAD、fetch问题

    解决这个问题,我们需要将本地开发分支改成如下情况

    Git基本使用及HEAD、fetch问题

    git fetch + git merge(git rebase)

    git fetch后本地的工作区(workspace)不会自动生成一份可编辑的副本,抓取结果存储于版本库(Repository),也就是图中版本A1,A2 Git基本使用及HEAD、fetch问题

    Git基本使用及HEAD、fetch问题

    当我们把git merge 改变为 git rebase也会有大致相同的效果,并且此时开发分支master并没有合并过后的痕迹 Git基本使用及HEAD、fetch问题


    起源地下载网 » Git基本使用及HEAD、fetch问题

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元