Git的那点基本命令

  • 工作区&暂存区

工作区(Working Directory):就是你在电脑里能看到的目录,比如我的一个web项目就是一个工作区

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

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

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

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

因为我们创建Git版本库时,Git自动为我们创建了唯一一个master分支,所以,现在,git commit就是往master分支上提交更改。我们可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。

  • 基础命令

命令 作用
git init 初始化一个Git仓库
git add "文件名" 添加文件到本地仓库(可反复使用添加多个文件)
git commit -m <message> 提交到远程仓库,<mesage>填的是备注信息
  • 版本回退命令(返回之前的版本)

命令 作用

git status

查看仓库当前的状态
git diff

查看上次修改的内容

git log 查看提交历史
git log --pretty=oneline 查看提交历史(简洁型)
git reset --hard commit_id 返回之前版本(commit_id可以在git log中获得)
git reflog 重返未来时查看命令历史,以便确定要回到未来的哪个版本
  • 管理修改

先思考一个问题:第一次修改 -> git add -> 第二次修改 -> git commit

问:第二次修改的会被提交么?(可以自己试一试)

答案是否定的,Git管理的是修改,当你用git add命令后,在工作区的第一次修改被放入暂存区,准备提交,但是,在工作区的第二次修改并没有放入暂存区,所以,git commit只负责把暂存区的修改提交了,也就是第一次的修改被提交了,第二次的修改不会被提交。提交后,用git diff HEAD -- readme.txt命令可以查看工作区和版本库里面最新版本的区别:

命令 作用
git checkout -- file 修改了某个文件(但是未add到暂存区),需要撤销修改
git reset HEAD 文件名 修改了某个文件(而且add到了暂存区),回到add前状态
git rm <file> 删除文件

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

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

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

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

  • 远程仓库(GitHub或者码云)

关于仓库的建立和SSH key的创建参考:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001374385852170d9c7adf13c30429b9660d0eb689dd43a000

命令 作用
git remote add origin git@server-name:path/repo-name.git 关联一个远程仓库
git push -u origin master 第一次推送master分支的所有内容
git push origin master 推送最新修改
git clone path 从远程仓库克隆到本地

下一篇:分支管理

全部评论

相关推荐

bg27强双非本,目前在学习golang后端gin框架部分,在b站找了一个轮子项目敲了一下,技术栈是gin&nbsp;+&nbsp;gorm&nbsp;+&nbsp;mysql&nbsp;+&nbsp;redis。我目前的想法是这一个月学习408和go八股以及刷算法然后在12月找个寒假实习然后大三下开始准备考研。我是考研意愿比较强烈,想问一下我是应该all&nbsp;in其中一个方向吗,我感觉我实习对我考研来说也是没什么帮助的好像。
牛客28967172...:毕业工作,考研,考公是完全不同的方向。 99%的人拼尽全力也只能把一个做好(能做好都已经是佼佼者了,比如进进大厂,考985或者考公) 如果你确定要考研可以不用学任何就业技术框架,也不用实习经验,刷题背知识点就行,但注意必须考92院校起步,因为这个年代双非硕毕业后完全不如双非本(互联网行业),可以说双非硕在互联网就业完全是负收益
投递哔哩哔哩等公司10个岗位
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务