Git基本原理及常用命令

1、Git 基本原理

首先需要知道的是Git本地仓库包括三个部分:工作区、暂存区(Stage)和版本库(History)
请添加图片描述

工作区就是我们电脑中的工作目录,也就是源码存储的文件夹;
暂存区可以暂时存储我们已经更新的部分,通过git add 命令就可以把工作区的内容存到暂存区中
版本库用于存放当前仓库的所有分支信息,并通过一个HEAD指针指向当前工作的分支,此外还以为注意到是版本依旧存在于本地,工作区中会有一个.git目录,里面存放的就是版本库数据(ps: 暂存区也在这个目录里哦,在这个目录的index文件夹中),通过git commit可以将暂存区的数据同步到版本库

那么本地仓库和远程仓库之间要怎么进行数据同步呢?
请添加图片描述

前面说到我们最后把数据同步到了本地的版本库里,那么要使得本地仓库和远程仓库同步就要使用到git push命令,该命令就就是将本地版本库的数据同步到远程仓库中;
同理,远程仓库可能每时每刻都在更新,为了让我们能尽量做到本地仓库和远程仓库同步,我们也要时常将远程仓库的数据同步到本地,这时候就需要使用git pull命令了,该命令可以同步当前远程仓库中的最新数据到本地仓库之中
由此实现本地仓库和远程仓库之间的数据同步!

2、开发中常用的git命令

作用命令详细解释
创建git仓库git init在当前目录中创建一个git仓库
从远程clone仓库git clone [url/ssh]拷贝远程仓库的源码到本地在git clone报fatal: early EOF错误时,是因为远程仓库分支太多,可以分批下载,参照:解决方法
将数据同步到暂存区git add .将当前目录的所有文件添加到暂存区
比较工作区和暂存区git diff比较工作区和暂存区的差异
将数据同步到版本库git commit -m “xx”将暂存区的数据同步到版本库(本地仓库)
提交代码git push将本地仓库的数据同步到远程仓库中
从远端获取代码库git fetch从远程仓库中获取最新的代码库
合并分支git merge xx合并分支,把当前分支合并到xx分支
同步远端最新数据git pull从远程仓库中获取代码并合并(git fetch + git merge)
版本回退git reset回退暂存区版本,工作区保持不变,与上一次commit一致
版本回退git reset [file]同上,只是回退到是某一个指定的文件
版本回退git reset --hard重置暂存区与工作区,与上一次commit保持一致
查看提交git log --oneline一行一行地显示提交记录
查看当前分支状态git status可以显示当前分支的change条目
创建分支git branch xx创建分支xx
切换分支git checkout xx切换到分支xx
切换分支git checkout -b xx创建并切换到分支xx
同步分支git rebase xx把当xx分支合并到当前分支,一般xx是主分支,当前分支是主分支的分支,用于拉取主分支最新状态,详细可阅:git rebase
转移分支git cherry-pick xx将xx节点转移到当前分支,功能类似于git merge,但转移的只是某一个节点或者某些节点,详细可阅:git cherry-pick

3、常见的场景应用

  1. 提交本地代码到远程仓库:
    git add .
    git commit -m “xx”
    git push (如果不行就根据提示加入分支名)
  2. 拉取最新的远程仓库数据:
    git pull
    git status (查看当前状态)
  3. 合并本地分支:
    git checkout branch1
    git merge branch2 (将branch2合并到branch1,常见于将开发分支合并到主分支)
  4. 创建工作分支并push到远程仓库中:
    git checkout -b branch1
    git push origin branch1
    git branch --set-upstream-to=origin/branch1 (将本地分支branch1关联到远程分支branch1上)
  5. 版本回退:Git撤销与回滚
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值