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. oracle 修改字符集支持中文

    1.登录sys关闭服务 [oracle@t-e ~]$ export ORACLE_SID=kamiltest1 [oracle@t-e ~]$ sqlplus / as sysdba SQL> ...

  2. py-faster-rcnn搭配pycharm使用

    先在ubuntu下配置好cuda.cudnn以及py-faster-rcnn,然后安装pycharm. 打开pycharm看py-faster-rcnn代码,import处各种红色下划曲线,提示报错. ...

  3. 【BZOJ-2179&2194】FFT快速傅里叶&快速傅里叶之二 FFT

    2179: FFT快速傅立叶 Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 2978  Solved: 1523[Submit][Status][Di ...

  4. 【BZOJ-2555】SubString 后缀自动机 + LinkCutTree

    2555: SubString Time Limit: 30 Sec  Memory Limit: 512 MBSubmit: 1936  Solved: 551[Submit][Status][Di ...

  5. NTFS交换数据流隐写的应用

    by Chesky ##目录 ####一.NTFS交换数据流(ADS)简介 ####二.ADS应用 写入隐藏文件(文本\图像\可执行文件) ADS在Windows平台下的利用--写入后门 ADS在We ...

  6. PHP基础之PDO

    简介 PDO(PHP Data Object)是指PHP数据对象,它定义了一个轻量级的一致接口来统一操作各种数据库.PDO提供了一个数据访问抽象层,这意味着,不管使用哪种数据库,都可以用相同的函数(方 ...

  7. radio 切换内容

    <!DOCTYPE html><html><head> <meta charset=utf-8 /> <title>test</tit ...

  8. Mac 配置 php-fpm 时出现'/private/etc/php-fpm.conf': No such file or directory (2)

    https://github.com/musicode/test/issues/5 Mac 自带 php-fpm,在终端执行 php-fpm,会报如下错误: ERROR: failed to open ...

  9. centos 7.0 安装nginx 1.9.10

    可以参考以前安装成功的案例 centos 7.0 nginx 1.7.9成功安装过程 官网下载 http://nginx.org/en/download.html nginx下载位置 /usr/loc ...

  10. php内部函数

    strpos函数 /** haystack:被比较字串首地址(指向被比较字符串) needle:源字串首地址(指向源字符串) needle_len:源字符串长度 end:指向最后一个字符地址的下一个内 ...