git详细教程
学前准备下载点击打开 gir 官网打开安装文件,一直下一步就Ok了测试安装git --versiongit version 2.18.0.windows.11.使用github免费的代码管理仓库,开源gitlab企业用,自己的服务器搭建。(代码仓库)命令行git init初始化一个仓库(本地)本地打开一个文件夹,输入命令:&gt...
学前准备
-
下载
点击打开 git 官网
打开安装文件,一直下一步就Ok了 -
测试安装
git --version
git version 2.18.0.windows.1
1.使用
github
免费的代码管理仓库,开源
gitlab
企业用,自己的服务器搭建。(代码仓库)
命令行
- git init 初始化一个仓库(本地)
本地打开一个文件夹,输入命令:
> git init
- git add 添加文件到仓库里(本地),add命令没与任何反馈
git add <文件名称>
git add . // 添加当前目录的所有文件到仓库
> git add index.html
- git commit 暂存到仓库
> git commit -m "描述信息"
1) 这时候如果我们对文件进行了修改,需要做如下操作
> git add .
> git commit -m "第一次修改"
2)vs code 查看修改的文件内容
- git branch 创建分支
> git branch <分支名称> // 创建分支
> git branch master // 创建一个主分支
> git branch // 查看分支
> git branch <分支名称> -D // 删除某个分支
- git checkout 切换分支
> git checkout <已创建的分支名称>
> git branch dev // 创建分支dev
> git checkout dev // 切换到分支dev
Switched to branch 'dev' // 已经切换到dev分支了
在哪个分支上创建的分支就基于哪个分支,如图所示:
我在master分支上建立了两个分支,又在dev分支上建立了dev01分支,这时,dev01分支中就有dev的数据(基于dev);
* 本分支的数据基于创建自己的上级分支,但是在本分支修改数据不会影响到上级分支(独立个体,互不影响)
* 如果当前分支的代码没有保存的话是不能切换分支的
- git merge 合并分支
> git merge <合并的分支名称>
如:我想将 dev01 分支的内容合并到 master 分支,就需要在 master 分支,执行如下代码:
> git merge dev01
- git config 配置用户信息
> git config --global user.name <用户名>
> git config --global user.email <邮箱>
// --global 可加可不加,加了的话在这个电脑上的项目配置一次以后就不用配置了,其他的项目就不用配置了
// 不加的话本次配置只对当前的项目有效,其他的项目还要配置一次
> git config --list // 获取配置信息
- git remote 配置远程仓库的信息
> git remote add <仓库别名> <仓库的地址>
> git remote // 查询远程仓库名称 <仓库别名>
> git remote remove <仓库别名> // 删除掉本地中远程仓库的配置信息
在 github 中创建 项目/仓库
- git push 把项目上传到远程仓库
> git push <仓库别名> <分支名称> // 默认不加分支的时候是 master 分支
> git push -u <仓库别名> <分支名称> // -u 参数是设置默认上传分支
-
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
- 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分支的内容,不过在本地名称变了一下而已(接下来就是合并操作了)
- git pull 拉取同步远程仓库代码
用来更新当前分支的代码
> git pull <仓库别名> <分支名称> // 如果在有多个仓库的情况下需要仓库别名,有多个分支的情况下需要分支名称
git fetch 是在本地完全没有某个远程分支的时候使用,比如说 a1 分支;
本地只有 master / dev 分支,没有远程 a1 分支的内容,这时候要用 git fetch
第二次,本地现在有了 a1 分支,再下载 a1 远端代码就用更新操作(pull)就好了;
错误
出现这个错误的原因是远程仓库中的文件比本地的新,没办法覆盖他,所以要先拉取远程仓库中的文件再去覆盖;
添加上传忽略
.gitignore
里边就是用来说忽略哪些文件的
.gitignore
文件的内容:
/node_modules
package-lock.json
写法:
/文件夹名称
文件名
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)