Git Hub 和Git Desktop使用教程(一)
GitHub
版本控制
Git简介
Git命令行操作
学习目的:
1.如何创建仓库
2.本地仓库push 和远程仓库clone
版本控制
版本控制作用
1,团队协作:多人对同文件同时修改,并对文件内容进行合并;
2,数据备份:保存目录和文件的当前状态,还保存每次提交的历史状态
3,版本管理:保存每个版本的文件信息
4,权限控制:对团队参与开发人员进行权限控制及对团队外贡献代码进行审核
5,历史记录:查看修改内容,时间,修改人,日志信息,并能恢复到某一历史状态
6,分支管理:多条生产线同时推进任务,提高效率
Git 结构
工作区(git add-》)--暂存区(临时存储git commit-》)--本地库(历史版本)
Git&GitHub--本地库和远程库
团队:本地库(发起人)--push--远程库--clone--本地库(团员)--push(加入团队)--远程库--pull--本地库(发起人)
Git 命令行操作
本地库操作
本地库初始化
命令git add
具体操作,在写代码的文件目录下,右键 Git Bash Here 可新创建 ’webset‘文件夹
下面我们就可以使用 git init 来初始化webset 文件夹。没有经过 git init 之前,他还只是一个普通的文件夹,里面的改动无法被 Git 记录。经过初始化后,在对其中的文件进行操作,就会被Git记录下来。
git init (本地库初始化)生成 .git 文件夹,可用ls -a(查看列出的所有.开头的目录和文件,包括隐藏文件)目录中的存放的是本地库相关的子目录和文件,不要删除和胡乱修改
再次强调Git的目的:
-
本地修改后,可以保存修改记录,并能够随时找回之前的版本;
-
上传到github 网站,便与与他人协作完成一个项目;
设置签名(区分不同开发人员的身份):仓库级别>系统级别 位置:../.git/config
仓库级别:git config
*git config user.name xxx
*git config user.email xxx@xxx.com
系统级别:git config --global
*git config --global user.name xxx
*git config --global user.email xxx@xxx.com
基本操作
git status
查询状态
当文件有了编辑,修改
添加操作
git add .
(文件放入暂存区)
git add <file>
有针对性的添加文件
状态查看操作
git status
查询状态
删除文件
提交操作
```git commit <file>``` (进入vim ,字母键c 进入编辑状态,可以修改注释信息,按ESC 退出编辑状态,连按两次大写状态的Z,保存退出vim)
```git commit -m"commit message"```<file> (commit message :提交信息的描述)
查看历史记录操作
```git log```查看历史提交记录
![](https://img2020.cnblogs.com/blog/2124895/202008/2124895-20200820201709525-1568986996.png)
```git log --prttey =oneline``` \ ```git log --oneline```\ ```git reflog```(显示指针,索引)
![](https://img2020.cnblogs.com/blog/2124895/202008/2124895-20200820201728617-2050254718.png)
```git reset --hard HEAD^```退回上一版本
![](https://img2020.cnblogs.com/blog/2124895/202008/2124895-20200820201740691-1200853210.png)
```git reset --hard HEAD^^```退回上上一版本
```git reset --hard <索引>```
![](https://img2020.cnblogs.com/blog/2124895/202008/2124895-20200820201752716-2069993953.png)
reset 三个参数
--soft 仅仅在本地库移动HEAD指针
--mixed 本地库移动HEAD指针,重置暂存区
--hard 本地库移动HEAD指针,重置暂存区,重置工作区
<扩展> 退回版本时出现如下问题,一般情况是文件正在被运行,被其他应用占用,关闭应用即可。先把它的进程关闭,重试一下就好了。
删除文件和恢复文件
rm <file>
---
删除文件并找回
###分支管理
##远程库操作