Git学习
Git学习
战地春梦 发表于2年前
Git学习
  • 发表于 2年前
  • 阅读 29
  • 收藏 1
  • 点赞 0
  • 评论 0

标题:腾讯云 新注册用户域名抢购1元起>>>   

#Git学习 ##1.Git基本命令 git branch 查看本地分支

git branch -r查看远程分支

git checkout -b backend_1_39_0_base 创建本地分支

git branch —set-upstream-to=origin/backend_1_39_0_base 与远程分支建立联系

git status 获取本地分支状态

git pull 拉取远程仓库

git add . 提交到暂存区

git commit -m "lalalal"提交到本地仓库

git push 提交到远程仓库

git reset --hard commit_id 转换到某次commit

git log 可以查看提交历史,以便确定要回退到哪个版本

git reflog 查看命令历史,以便确定要回到未来的哪个版本

git diff #是工作区(work dict)和暂存区(stage)的比较

git diff --cached 是暂存区(stage)和分支(master)的比较

git checkout -- file 可以丢弃工作区的修改(file是文件名)

命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

总之,就是让这个文件回到最近一次git commit或git add时的状态。

git checkout <name> 切换分支

git merge <name> 合并某分支到当前分支

##2.Git对象模型 每个对象(object) 包括三个部分:类型,大小和内容。大小就是指内容的大小,内容取决于对象的类型,有四种类型的对象:"blob"、"tree"、 "commit" 和"tag"。

  • “blob”用来存储文件数据,通常是一个文件。
  • “tree”有点像一个目录,它管理一些“tree”或是 “blob”(就像文件和子目录)
  • 一个“commit”只指向一个"tree",它用来标记项目某一个特定时间点的状态。它包括一些关于时间点的元数据,如时间戳、最近一次提交的作者、指向上次提交(commits)的指针等等。
  • 一个“tag”是来标记某一个提交(commit) 的方法。

每个目录都创建了 tree对象 (包括根目录), 每个文件都创建了一个对应的 blob对象 . 最后有一个 commit对象 来指向根tree对象(root of trees), 这样我们就可以追踪项目每一项提交内容

##3.工作区和暂存区

工作区:电脑能看到的目录

版本库(Repository)

工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。

Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。

把文件往Git版本库里添加的时候,是分两步执行的:

第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;

第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。

共有 人打赏支持
粉丝 4
博文 33
码字总数 24598
×
战地春梦
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: