1. GIT说明

1> git是分布式,或者说是去中心化的。表现为:

  • 开发者的可以在本地使用git并完美的控制自己的版本,而无需与服务端交互;
  • 开发者可以将本地库在某个服务端备份,这种情况类似SVN的模式;
  • 不同开发者可以互相参考彼此的本地库,如A可以从B的本地库pull版本,也可把自己的本地库版本push给C,ABC三者本地库可以各不相同,但主题一致,这就有社区的感觉。

2> git与其它版本管理工具一样,在push代码时都可能会有冲突,而且冲突只能在本地解决后再push。

3>git与其它版本管理工具相比,最惊艳的就是分支手段,通过分支可以很方便的进行开发版本管理,而且分支切换效率让人震撼,比如本地两个不同的分支版本X和Y,二者代码差异比较大,通过git checkout Y从分支X切换到Y时,会发现,毫秒级的时间里,硬盘上的代码就从X分支全部变成Y分支。

2. 文件区域

上面有4个文件区域,如果只是在本地做版本控制,则不用考虑远程仓库。只对本地文件进行修改,影响的是工作区间;添加文件后执行git add,影响的是缓存区;只有commit后才会影响本地仓库;另外可以通过git reset回退代码。

2. 基本命令

类型

命令

描述

代码区域

git init

在当前目录初始化一个空的git仓库

git clone

https://github.com/ikexiao/he

llo-word

从远程主机克隆一个版本库。

注意冒号前面是协议名称,包括http[s],ssh,git,ftp[s]等。

远程仓库

git remote [-v]

显示远程仓库,-v表示显示地址

git remote add origin ssh://software@172.16.0.30/~/yafeng/.git

在本地仓库添加一个远程仓库

git remote rm origin

删除一个远程仓库

文件增删改查

git add file

添加文件到缓存区

git commit -m "comments" file

提交文件到本地仓库

git push origin master[:远程分支名]

将本地master修改推送到远程origin仓库的master分支

git pull origin master

从远程origin仓库拉回代码到master分支

git checkout

汇总显示工作区、暂存区与HEAD的差异

git checkout [--] .

这条命令最危险!会取消所有本地的修改(相对于暂存区)。相当于用暂存区的所有文件直接覆盖本地文件,不给用户任何确认的机会!

git checkout [branch] -- filename

用分支暂存区的文件替换工作区文件

git reset -hard

git reset -mixed

git reset -soft

版本回退方法。-hard回退后工作区、缓存区、本地仓库全部回退;-mixed会保留工作区代码; -soft会保留工作区和缓存区代码

分支

git branch [-v]

列出当前所有分支的清单,当前分支前面会有个星号。

加-v选项能看到各分支最近一个提交信息

git branch branch-name

git checkout -b branch-name

创建分支;

创建并切换分支

git branch -d branch-name

删除分支

git checkout branch-name

切换分支,注意:切换分支后工作区的文件会随之切换。

git bash操作的更多相关文章

  1. 初学git:用git bash往github push代码

    对于我来说,最开始使用github主要是为了使用它的pages功能展示demo.其实这些都是用Github for Windows push上去的,图形化界面的客户端使用确实简单,但是逼格不够,好吧其 ...

  2. git bash 界面修改成linux界面

    在使用git bash操作git时,$符总是另起一行,给人感觉特别不爽,特别想修改成linux下一样的风格. 在git输入命令: vim ~/.bash_profile 进入insert模式,添加内容 ...

  3. Git Bash输错账号密码如何重新输入

    很多时候我们容易在Git Bash操作的时候,不慎输入错误的用户名或密码,此时一直提示: remote: Incorrect username or password ( access token ) ...

  4. 【git】idea /git bash命令 操作分支

    1.需求 因为目前要对项目做一些改动,而项目又即将上线,这些新的改动又不需要一起上线,所以这个时候需要在原有的master分支上重新拉出一个分支进行开发. 2.分支操作 打开git bash工具→切换 ...

  5. git bash 下操作文件及文件夹命令

    1, cd : change directory的简写,改变目录的意思,就是切换到哪个目录下, 如 cd e:\fff  切换 E 盘下面的fff 目录. 当我们用cd 进入文件夹时,我们可以使用 通 ...

  6. Gitee Git bash VSCode操作简易说明

    GIT Git是一个分布式的版本控制系统,只是软件,需要你下载装到电脑上,实现git功能. Github.Gitee基于git的项目托管平台.Github是国外的,连接速度因人而异:另外Github收 ...

  7. Git Bash 简单操作

    在Windows下使用Git Bash,用的是Linux命令,常用几个文件操作命令如下: Windows命令 Linux命令 意义 cd e:\xxx cd /e/xxx 切换到xxx目录 cd pw ...

  8. git bash 常用操作文件命令行

    1, cd : change directory的简写,改变目录的意思,就是切换到哪个目录下, 如 cd e:\fff 切换 E 盘下面的fff 目录. 当我们用cd 进入文件夹时,我们可以使用 通配 ...

  9. 在操作Git Bash时出现的问题

    参考博客:https://blog.csdn.net/weixin_44394753/article/details/91410463 1.问题1 $ git remote add origin gi ...

随机推荐

  1. C# 通过Selecnuim WebDriver操作非IE浏览器

    之前有需求需要操作Chrome中的dom元素,没做过这个,但是网上关于这个方面的资料比较少,所以自己捣腾了几天,在知道.net中有这个玩意. 但是一百度,全是关于java,python的而c#的那是一 ...

  2. Beta版本冲刺第五天

    Aruba 408 409 410 428 429 431 完成任务: 数据库对于分类新建/删除的更新 调整图片再编辑界面的合适大小 调整常驻通知栏按钮的跳转逻辑 微调数据库 立会照片: 燃尽图: c ...

  3. Bzoj1426 收集邮票

    Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 292  Solved: 232 Description 有n种不同的邮票,皮皮想收集所有种类的邮票.唯一 ...

  4. 最小生成树---Prim算法和Kruskal算法

    Prim算法 1.概览 普里姆算法(Prim算法),图论中的一种算法,可在加权连通图里搜索最小生成树.意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点(英语:Vertex (gra ...

  5. Python学习笔记(2) Python提取《釜山行》人物关系

    参考:http://www.jianshu.com/p/3bd06f8816d7 项目原理:   实验基于简单共现关系,编写 Python 代码从纯文本中提取出人物关系网络,并用Gephi 将生成的网 ...

  6. CentOS / Redhat : Configure CentOS as a Software Router with two interfaces

    CentOS / Redhat : Configure CentOS as a Software Router with two interfaces   Linux can be easily co ...

  7. web api9

  8. 使用ab对nginx进行压力测试

    nginx以高并发,省内存著称. 相信大多数安装nginx的同学都想知道自己的nginx性能如何. 我想跟大家分享下我使用ab工具的压力测试方法和结果, ab是针对apache的性能测试工具,可以只安 ...

  9. sql杀死进程

    查询SQL所有的链接  并可以查看连接当前正在做什么操作..使用的什么语句.. SELECT spid, blocked, DB_NAME(sp.dbid) AS DBName, program_na ...

  10. 关于JSF中immediate属性的总结(一)

    Purpose The immediate attribute can be used to achieve the following effects: Allow a commandLink or ...