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 从远程仓库克隆到本地

下一篇:分支管理

全部评论

相关推荐

06-15 02:05
已编辑
南昌航空大学 数据分析师
Eason三木:你如果想干技术岗,那几个发公众号合唱比赛的经历就去掉,优秀团员去掉,求职没用。然后CET4这种不是奖项,是技能,放到下面的专业技能里或者单独列一个英语能力。 另外好好改改你的排版,首行缩进完全没有必要,行间距好好调调,别让字和标题背景黏在一起,你下面说能做高质量PPT你得展现出来啊,你这简历排版我用PPT做的都能比你做的好。 然后自我评价,你如果要干数据工程师,抗压能力强最起码得有吧。
简历中的项目经历要怎么写
点赞 评论 收藏
分享
点赞 评论 收藏
分享
06-26 10:08
门头沟学院 C++
北京Golang实习,一个月4700,吃住都不报,公司位置在海淀。请问友友怎么看呢?如果要租房的话有什么建议吗
码农索隆:租房肯定是合租了,剩下的钱,差不多够正常吃饭了,看看能不能学到东西吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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