学前准备

  1. 下载
    点击打开 git 官网
    打开安装文件,一直下一步就Ok了

  2. 测试安装

	git --version
	git version 2.18.0.windows.1

在这里插入图片描述

1.使用

github
免费的代码管理仓库,开源
gitlab
企业用,自己的服务器搭建。(代码仓库)
命令行
  1. git init 初始化一个仓库(本地)
	本地打开一个文件夹,输入命令:
	
	> git init
  1. git add 添加文件到仓库里(本地),add命令没与任何反馈
	git add <文件名称>
	git add . // 添加当前目录的所有文件到仓库
	
	> git add index.html
  1. git commit 暂存到仓库
	> git commit -m "描述信息"
	1) 这时候如果我们对文件进行了修改,需要做如下操作
	> git add .
	> git commit -m "第一次修改"
	2)vs code 查看修改的文件内容

在这里插入图片描述

  1. git branch 创建分支
	> git branch <分支名称>				// 创建分支
	> git branch master  				// 创建一个主分支
	> git branch 						// 查看分支
	> git branch <分支名称> -D  			// 删除某个分支
  1. git checkout 切换分支
	> git checkout <已创建的分支名称>
	
	> git branch dev			// 创建分支dev
	> git checkout dev			// 切换到分支dev
	Switched to branch 'dev'    // 已经切换到dev分支了 
	在哪个分支上创建的分支就基于哪个分支,如图所示:
	我在master分支上建立了两个分支,又在dev分支上建立了dev01分支,这时,dev01分支中就有dev的数据(基于dev);
	* 本分支的数据基于创建自己的上级分支,但是在本分支修改数据不会影响到上级分支(独立个体,互不影响)
	* 如果当前分支的代码没有保存的话是不能切换分支的

在这里插入图片描述

  1. git merge 合并分支
	> git merge <合并的分支名称>
	
	如:我想将 dev01 分支的内容合并到 master 分支,就需要在 master 分支,执行如下代码:
	> git merge dev01
  1. git config 配置用户信息
	> git config --global user.name <用户名>
	> git config --global user.email <邮箱>
	//  --global 可加可不加,加了的话在这个电脑上的项目配置一次以后就不用配置了,其他的项目就不用配置了
	//  不加的话本次配置只对当前的项目有效,其他的项目还要配置一次
	
	> git config --list 					// 获取配置信息
  1. git remote 配置远程仓库的信息
	> git remote add <仓库别名> <仓库的地址>
	> git remote 								// 查询远程仓库名称 <仓库别名>
	> git remote remove <仓库别名>				// 删除掉本地中远程仓库的配置信息

在 github 中创建 项目/仓库
在这里插入图片描述

  1. git push 把项目上传到远程仓库
	> git push <仓库别名> <分支名称> 			// 默认不加分支的时候是 master 分支
	> git push -u <仓库别名> <分支名称>		// -u 参数是设置默认上传分支
  1. git clone 克隆项目

    clone 是在本地完全没有项目的情况下clone
    新建一个文件夹(没有git仓库的),clone完之后会在这个文件里自动创建上仓库,使用clone就不需要init初始化了

	> git clone <仓库地址> <分支名称> 		// 默认不加分支的时候是master分支
	> git clone https://github.com/android5203/mi.git master
	clone 下来的项目第一是不用 init初始化了
	第二是不用配置远程仓库的信息了,本地仓库和远程仓库直接连接到一起了;
	至于上边的第8条git remote 是远端没有仓库的时候用的;
	clone 完代码,修改之后想提交,步骤如下:
	> git add .
	> git commit -m "描述"
	> git push

以上是远程仓库有内容时候的操作步骤,下边总结一下:

	1. 本地新建文件夹
	2. git clone <仓库地址> <分支名称> 
	3. 修改了文件
	4. git add .
	5. git commit -m "描述"
	6. git push

那如果远程仓库是空的的时候该怎么操作呢?

	1. 新建文件夹
	2. git init 
	3. 编辑里边的项目,编辑完成
	4. git add .
	5. git commit -m "描述信息"
	6. git remote add gitTest https://github.com/android5203/test.git 		
		 // 添加远程仓库 gitTest (别名)
		 // 仓库地址是在 github 上新建了仓库的那个地址
		 // git remote 查一下当前仓库的别名 -> gitTest
		 
	7. git push gitTest master
		// git push <仓库别名> <分支>
		// 这样的话每次提交到远程就不能只用 git push ,而是要 git push <别名> <分支> 了;
		// 为了避免这种情况:使用 -u 参数
		// git push -u gitTest master
	8. 这样就将代码提交到远程仓库了
	9. 再次修改文件
	10. git add .
	11.  git commit -m "描述"
	12.  如果之前用 -u 参数了,就直接 git push 就行,没用的话,还得:  git push gitTest master
  1. git fetch 下载

场景如下:
一个项目,两个工程师开发,各自一个分支,分别是 a1 , a2
这时,新建了一个分支,叫做 dev 作为开发分支,这时,a1 / a2 已经开发完成了,需要合并到 dev 分支中,在 dev中应如何操作呢?clone?显然不行,clone是在本地完全为空的情况下用的;
解决如下:

> git fetch <仓库别名> <远程分支名称>:<本地分支名称>

> git fetch gitTest a1:b1
接着上边的场景
现在本地分支 master / dev
如上命令执行完之后,本地分支 master / dev / b1
其中 b1 分支的内容是远程的 a1分支的内容,不过在本地名称变了一下而已(接下来就是合并操作了)
  1. git pull 拉取同步远程仓库代码
    用来更新当前分支的代码
> git pull <仓库别名> <分支名称> 		// 如果在有多个仓库的情况下需要仓库别名,有多个分支的情况下需要分支名称

git fetch 是在本地完全没有某个远程分支的时候使用,比如说 a1 分支;
本地只有 master / dev 分支,没有远程 a1 分支的内容,这时候要用 git fetch
第二次,本地现在有了 a1 分支,再下载 a1 远端代码就用更新操作(pull)就好了;

错误

在这里插入图片描述出现这个错误的原因是远程仓库中的文件比本地的新,没办法覆盖他,所以要先拉取远程仓库中的文件再去覆盖;

添加上传忽略

.gitignore 里边就是用来说忽略哪些文件的
.gitignore文件的内容:

/node_modules
package-lock.json

写法:

/文件夹名称
文件名

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐