Git是目前世界上最先进的分布式版本控制系统(没有之一),开源,免费的。
作用:可以快速管理项目(一堆文件的集合)
主要作用:
可以快速管理项目(一堆文件的集合) 版本管理
协同修改
数据备份
权限控制
历史记录管理
分支管理
一、下载和简介
1.下载
https://git-scm.com/
2.git的作者就是linux的作者
linux是一个操作系统。在git bash中可以使用linux中的大部分命令。
Administrator@MS-SXACBDGCBVLV MINGW64 ~/Desktop
~叫家目录 Desktop是桌面
window系统也是多用户的OS 每一个用户都有一个目录,叫就家目录
3.linux常用的命令
touch xxx.txt 创建一个文件 名字是xxx.txt
mkdir aaa 创建一个文件夹
clear 清屏
ls 列出当前目录夹下都有哪些文件或目录 不包含隐藏的文件或目录
ls -all 列出当前目录夹下都有哪些文件或目录 包含隐藏的文件或目录
键盘上的上下箭头 调出之前你打过的命令
rm 文件名 删除某个文件
二、git的基本使用
右键选择 Git Bash Here
1.检测git版本
git --version
2.设置用户名和邮箱(第1次)
作用:告诉git你是谁 git config --global user.name xiaozhao git config --global user.email 2025235728.com
3.创建一个文件夹
mkdir wyy-music
4.进入文件夹
cd wyy-music/
三、git本地仓库的管理
在上面创建的文件夹下,分成了三个区域: 工作区 我们都是在工作区去创建文件或文件夹 缓存区(暂时区) 如果说你创建的文件或文件夹,要想让git管理,你需要把工作区的代码扔到暂存区
工作区 我们都是在工作区去创建文件或文件夹
缓存区(暂时区) 如果说你创建的文件或文件夹,要想让git管理,你需要把工作区的代码扔到暂存区
$ git add readme.txt
上面的命令:表示把工作区的readme.txt扔到缓存区 此时还不能形成版本
历史区: 只有把缓存区的文件扔到历史区,才能形成一个版本
$ git commit -m "创建readme.txt说明文件"
-m 后面写此版本的注释 每一个公司,都有自己的规范
1. 查看版本
(1)默认显示
git log
(2)简化显示
git log --pretty=oneline
(3) 简短版本
git reflog
每一个版本都有一个唯一的ID
git reflog可以显示出所有的版本 包含你回退的版本。
2.查看状态
git status
3.把工作区的所有的文件或文件夹扔到暂存区
git add * *表示把工作区的所有的文件或文件夹(如果是空的文件夹,git是不进行管理的)扔到缓存区
git add . 同*
4.将工作中的文件和缓存区文件进行对比
git diff 文件名
5.版本的前进和后退
git reset --hard 版本ID 回到任意的版本 配合git reflog 还可以再回去
git reset --hard HEAD^ HEAD^表示回到上一个版本 HEAD^^表示回到上上个版本
6.删除文件相关
如果某个文件被我们删除了: 1)删除了,没有提交(commit) 恢复文件: A)reset B)git checkout – App.js 2)删除了,提交了(形成版本了) 恢复文件: reset
如果文件没有形成版本,你删除,就删除,找不回来了。
四、分支管理
默认情况下,我们的操作都是在master分支上进行的操作。master也叫主分支。 真实开发,不同的公司都有自己的分支管理规范。 根据功能,分成不同的分支。 根据成员,分成不同的分支。
1.创建分支
git branch 分支名
是在已有版本上进行创建的。 创建好后,并不会自动切换到b1分支
2.查看分支
git branch -v
3.切换分支
git checkout b1
4.合并分支
先切到接受合并的分支 git checkout master
git merge b1
5.删除分支
git branch -d b1
五、远程仓库管理
使用gitee充当远程仓库,需要注册一个账号。
1.创建远程仓库
创建完毕后,每一个远程仓库,都有一个地址:
分两类:
1)https://gitee.com/tubie/wyy-music.git 走https每一次可能要提示输入用户名和密码
2)git@gitee.com:tubie/wyy-music.git
先使用https开头的地址
2.克隆远程仓库到本地
git clone https://gitee.com/tubie/wyy-music.git
默认情况下,你克隆下来的仓库和远程仓库就建立了关联。
3.把本地仓库的版本推到远程仓库
git push 远程仓库的地址
后面再写代码时,也是先进行本地仓库的管理,再进行远程仓库的管理
4.查看远程仓库都有哪些别名
git remote -v
有一个默认的别名,叫origin。 也就是说,你可以这样推送:git push origin master
5.给远程仓库起别名
git remote add 远程仓库的地址
再push时:git push music master
6.删除别名
git remote remove music
7.本地仓库与远程仓库建立联系
独立创建一个远程仓库,叫first,独立创建一个本地仓库,叫one,默认情况下,两者之间是没有关系的
可以通过git remote -v 查看本地仓库是否有远程仓库的别名。
git remote -v
现在,本地仓库要和远程仓库建立联系:
git remote add origin https://gitee.com/tubie/first.git
可以把本地仓库的版本扔到远程仓库
git push origin master
六、配置SSH
不需要登录 (1)打开一个dos窗口,输入如下:
ssh-keygen -t rsa -C "2667074093@qq.com"
(2)在家目录中会生成.ssh目录,里面有两上文件,一个私钥,一个是公钥,复制公钥(.pub是公钥)。 (3) 打开码云,copy到码云中
(4) 把推送的地址改为 SSH 链接
git remote add origin git@gitee.com:liu-mengzhao/first.git
后面推送时:
git push origin master
七、从仓库中拉取数据
现在的情况下,远程仓库不动,本地仓库向远程仓库提交版本。
有没有一个情况,远程仓库的版本领先我们的本地仓库? 答:有
如果你本地仓库的版本和远程仓库的版本不一致,本地仓库创建的版本再向远程仓库提交时,提交不成功的。
此时,你需要使用git pull把远程仓库中你没有版本拉取下来。 也就是说,在你推送新版本之前,先去pull。
git pull origin master
|