1.Git介绍
1.git是一款源代码管理工具(版本控制工具)。
2.出现原因:人工处理不同的软件版本,做相应的备份会很麻烦。
3.git是linux之父当年为维护linux而编写的(Linus之前也是手动维护linux)。
4.Linus自己写了一个版本管理工具:git。
5.其他的源代码管理工具有:SVN、vss、vcs
2.初始化git仓储(仓库)
1.这个仓库会存放“git”对我们项目代码进行备份的文件。
2.在项目右键打开git bash
3.输入命令:git init
---->初始化命令,会生成隐藏文件“.git”,要备份的代码将会以二进制的形式备份到“.git”文件夹中。
3.配置使用者的用户名和邮箱
自报家门:
1.就是在git中设置使用前使用的使用者是谁。
2.输入命令:
- 配置用户名:
git config --global user.name "xiaoming"
- 配置邮箱:
git config --global user.email "xiaoming@sina.com"
解析:
1.config:配置
2.“--
”一般表示一些参数(后一般跟参数)
3.user.name
:参数名
4."xiaoming"
参数值
5.global:全局
4.把代码存储到git仓储中
思路:把大象放进冰箱要几步?
- 打开冰箱门
- 放大象
- 关上冰箱门
把代码存储到“.git”仓储中:
- 把代码存储到仓储的门口:
git add ./read me.md
- 把仓储门口的代码放到里面的房间中去:
git commit -m "这是对这次添加的说明"
解析:
- 1.
readme.md
是文件名 - 2.
-m
一定要加,不然会进入另一种编辑模式(vim编辑器模式),m是“message”的缩写。
5.把代码提交到仓储流程讲解
1.第一个知识点:
2.第二个知识点:修改文件后重复提交一次文件
- 1.
git add ./readme.md
- 2.
git commit -m "这是一次,我们加了一个功能"
6.git add与git commit补充
把代码存储到“.git”仓储中:
1.把代码放到仓储的门口
- 1.
git add ./readme.md
所指定的文件放到大门口 - 2.
git add ./
把所有的修改的文件添加到大门口
2.把仓储门口的代码放到里面的房间中去
git commit -m "这是对这次添加的东西的说明"
3.可以一次性把我们修改的代码放到房间里(版本库)
git commit --all -m "一些说明"
- “
--all
”表示是把所有修改的文件提交到版本库
4.查看当前的状态
- 可以用来查看当前代码有没有被提交到仓储中去
- 命令:
git status
- 当使用命令
git status
出现绿色字体:“modified:readme.md
”则代码被提交到了“大门口”(暂存区) - 使用
git commit -m "说明"
命令后,再次使用git status
命令出现:“working directory clean(工作目录已被清空)”,则说明代码提交成功
7.git中的忽略文件
1..gitignore
,在这个文件中可以设置要被忽略的文件或则目录
2.被忽略的文件不会被提交到仓储里去
3.在.gitignore
中可以书写要被忽略的文件的路径,以/开头一行写一个路径,这些路径所对应的文件都会被忽略,不会被提交到仓储中
4.写法
/.idea
会忽略.idea文件/js
会忽略js目录里的所有文件/js/*.js
会忽略js目录下所有js文件
8.查看日志
git log
查看历史提交的日志git log --oneline
可以看到简洁版的日志
9.git版本回退
-
git reset --hard Head~0
- 表示回退到上一次代码提交时的状态
-
git reset --hard Head~1
- 表示回退到上上次代码提交时的状态
-
git reset --hard [版本号]
- 可以通过版本号精确的回退到某一次提交时的状态
-
git reflog
- 可以看到每一次切换版本的记录:可以看到所有提交的版本号
10.git分支(创建分支,切换分支)
分支:
- 默认是有一个主分支master
创建分支:
git branch dev
- 创建了一个dev分支
- 在刚创建时dev分支里的东西和master分支里的东西是一样的
切换分支:
git checkout dev
- 切换到指定的分支,这里的切换到名为dev的分支
git branch
可以查看当前有哪些分支
- 切换到指定的分支,这里的切换到名为dev的分支
合并分支:
git merge dev
- 合并分支内容,把当前分支与指定的分支(dev),进行合并
- 当前分支指的是
git branch
命令输出的前面有*号的分支
- 合并时如果有冲突,需要手动去处理,处理后还需要再提交一次.
11.GitHub介绍
- https://github.com
- 不是git,只是一个网站
- 只不过这个网站提供了允许别通过git上传代码的功能
12.提交代码到github(当作git服务器来用)
git push [地址] master
- 示例:
git push https://github.com/huoqishi/test112.git master master
- 会把当前分支的内容上传到远程的master分支上
git pull [地址] master
- 示例:
git pull https://github.com/huoqishi/test112.git master
- 会把远程分支的数据得到:(注意本地-要初始一个仓储!)
git clone [地址]
- 会得到远程仓储相同的数据,如果多次执行会覆盖本地内容。
注:根据传智播客教学内容及笔记整理