在工作中,我们可能需要采用 git 作为版本控制工具。所以对 git 的基本操作需要非常熟练,以至于我们能够应付工作上的需求。当然这里推荐一篇博文廖雪峰的git教程,有更详细的介绍。我这里对git的一般操作进行归纳总结。一篇文章让你快速学会使用 git 并能够应付工作的需求。

git 操作流程:

通过上图我们先一次解释下几个概念:

工作区:本地电脑存放文件的地方

暂存区:在使用 git 管理项目文件的时候,本地项目文件会有一个.git 的隐藏文件夹,将这个.git 文件夹称为版本库。这个文件夹包含了两个部分:暂存区(stage 或者 Index )和本地仓库

本地仓库:使用commit 可以将暂存区中文件添加到本地仓库中的分支中

远程仓库:远程 git 服务器的仓库。

git的一般操作其实就是:将工作区文件 add 到暂存区,然后将暂存区文件 commit 到本地仓库的分支中去,最后 push 远程仓库中,不过推送到远程仓库时,有时候需要 pull 更新一下(当团队其他成员推送了更新,就要pull一下更新一下本地仓库,来解决本地仓库和远程仓库不一致的冲突问题。)

基本操作如下:

git init 将当前目录初始化为 git 管理的目录

git clone [url] : clone 远程仓库到本地,同时将本地目录也自动成为 git 管理目录

git status 查看状态

git add 添加工作区内容到暂存区

git add files

这个时候查看 git status 可以看到

git commit 一次性将暂存区的所有修改提交到分支

添加此次提交的信息,为了规范,一般描述此次提交所完成的功能或者修改。

这个时候暂存区里就没有内容了

输入 会显示如下内容:

添加远程仓库

git remote add origin repository

查看添加的仓库

git remote -v

git push 推送到远程仓库

git push origin master 推送本地仓库主分支到远程仓库主分支

git pull 拉取远程仓库的更新

拉取远程仓库 developer 分支下的更新

当我们 fork 了其他人的项目到自己远程仓库时,我们对自己的远程仓库的推送和之前一样,git add 后 git commit 然后 git push 即可。然后自己的远程仓库网页上点击"pull request"一直下一步即可,即可将自己的更改推送到fork的原仓库下。或者直接 git remote add origin upstream [源仓库url] 添加源仓库,然后git push 到源仓库上去。但是一般情况下,我们都没有权限直接推送到源仓库上。一般都是推送到自己的远程仓库,然后pull request。

git log 从最近一次提交显示到最远一次提交信息

git reset --hard HEAD 将工作区文件回退到指定版本号

git reflog 显示所有提交

我们只要拿到 head 就可以将工作区改为任意一个版本了,完全不用担心修改了不能退回到之前版本了,可以尽情尽兴开发。

修改

每次修改,如果没有add 需要先 add 才能 commit

撤销修改

git checkout -- file 撤销工作区对file 的修改一种是file自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

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

git reset HEAD将暂存区的修改回退到工作区,当我们用HEAD时表示最新的版本.

删除文件

先在本地磁盘上删除文件,如果确定需要删除,将版本库中的文件也删除的话 ,就继续执行 git rm file 最后 git commit file 就将该文件从工作区和版本库中都删除了。

如果发现本地文件删错了,可以git checkout --file 从版本库中恢复工作区文件。

分支管理

git merge developer 将developer 合并到 master 分支

解决冲突

合并分支或者推送分支的时候都会遇到冲突,一般都需要我们手动解决冲突后才能进行合并和推送。

git checkout -b feature 创建并切换分支

git branch -d frature 删除分支

git log --graph 分支合并图

git statsh

git stash 将当前工作现场储藏起来,等以后恢复现场在继续工作。

git stash 之后 工作区是干净的。

git checkout master 切换到master 分支去处理

git stash list 查看stash 内容存放的位置

恢复的方法有:

一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;

另一种方式是用git stash pop,恢复的同时把stash内容也删了:

删除分支

如果要丢弃一个没有被合并过的分支,可以通过git branch -D强行删除。

git branch --set-upstream branch-name 建立本地分支和远程分支的关联。

扫一扫,关注我

如果觉得内容对你有帮助,欢迎点赞,转发或者留言与我探讨。谢谢。

git status怎么操作_新手 git 简明操作指南相关推荐

  1. git 修改分支名字_基础Git操作与GitHub协作吐血整理,收好!| 原力计划

    作者 | 光子俊来源 | CSDN博客出品 | CSDN(ID:CSDNnews) Git介绍 Git是目前世界上最先进的分布式版本控制系统,可以为我们管理项目.构建工程.多人协作提供便利,作为一个爱 ...

  2. git status怎么操作_Git 基本操作

    Git 基本操作 Git 的工作就是创建和保存你的项目的快照及与之后的快照进行对比.本章将对有关创建与提交你的项目的快照的命令作介绍. 获取与创建项目命令 git init 用 git init 在目 ...

  3. git代码托管 · 操作举例: “git bash here ”(全程操作讲解) - git命令篇

    如何通过git进行代码托管?怎么操作?全程讲解说明,以git bash here为例. git使用案例:git代码托管: "git bash here "(全程操作讲解) 代码托管 ...

  4. git ssh配置文件 服务器_【GIT】日常开发中的这些Git技巧你知道吗?

    Git是目前世界上最先进的分布式版本控制系统 0 git安装 1)在github下载git的release版本 git-release 2)安装git的依赖文件 sudo apt-get instal ...

  5. git status怎么操作_git操作-方向对了,就不怕路远了!-51CTO博客

    git介绍 与svn不同的是,svn是集中式管理,当自己主机上修改了文件,必须提交到服务器,其他人才能提交,不然冲突 git是自己本机也可以作为仓库,也有当做服务器,分布式管理 安装: bash-co ...

  6. git gui 历史版本_这些Git命令都不会,还是不要去面试了

    前言 以下,项目中经常使用的Git命令,汇总到这里以便与你能快速的学习和掌握Git命令,在文章最后有惊喜哟,一定要看到最后啊! 使用的 Git版本:git version 2.24.0 命令 git ...

  7. commit git idea 速度慢_关于Git,这篇文章还不够吗?

    Git 安装 Git下载地址: https://git-scm.com/downloads Git安装(Window/Mac): 选择不同系统安装包安装 检验是否安装成功: 出现Git Bash命令行 ...

  8. bash git 如何切换目录_【git】命令行与本地仓库/远程仓库

    终端里如何复制粘贴 在cmder里 粘贴是鼠标右键 粘贴时shift+Insert 复制是用鼠标选中即自动复制 在Git Bash里 粘贴是鼠标中键 粘贴时shift+Insert 复制是用鼠标选中, ...

  9. 使用git命令导出项目_【git学习】SVN项目迁移到Git操作指南

    参考链接 在迁移的过程中,参考了以下的链接: 第一步.建立SVN用户到git用户的映射文件在 Subversion,每个提交者在都在主机上有一个用户名,记录在提交信息中.如果想让已有的信息更好的映射到 ...

最新文章

  1. systemctl介绍
  2. Python工程师学习笔记
  3. 无监督构建词库:更快更好的新词发现算法
  4. Linux下安装rpm出现error: Failed dependencies
  5. [JSOI 2011]分特产
  6. python-列表包字典-字典结构格式化-经验
  7. linux 调试 js 代码,使用node-inspector调试NodeJS代码
  8. JS的内建函数reduce
  9. 斗鱼显示弹幕服务器连接失败,斗鱼看不到弹幕的解决方法步骤
  10. A Piece of ODE
  11. 宜居房屋===查看所有房源信息===查看单个房屋详情信息
  12. 被动信息收集:使用OSINT框架进行信息收集
  13. tomcat如何调优
  14. 电影之记忆4:蝴蝶效应1
  15. java中localhost是怎么回事?干什么用的?
  16. 带你理解交换机基本原理和配置
  17. TCGA数据库的基因表达情况分析
  18. 4.2.11 Flink-流处理框架-Table API 与 SQL-函数(Functions)之用户自定义函数 UDF
  19. 安卓pdf阅读器_用户分享Note2阅读器体验:全格式手写、双开翻译功能很给力!...
  20. 手持气象站便携式气象站皆包含超声波风速风向传感器

热门文章

  1. oracle database link创建
  2. PCI、PCI-X、PCI-E AGP区别
  3. 微型计算机有缺点,PT开口安装微机消谐的优缺点?
  4. linux内核编译ccflag,Linux内核模块编译失败
  5. java中workbook_java使用Workbook进行excel读取和创建
  6. Spring Boot 2 快速教程:WebFlux Restful CRUD 实践(三)
  7. 玩转 SpringBoot 2.x 之自定义Starter依赖
  8. 基于JAVA+Servlet+JSP+MYSQL的电影院购票系统
  9. 基于JAVA+SpringMVC+Mybatis+MYSQL的网上书城
  10. 【Alpha版本】冲刺随笔汇总