一、 git下载和安装
- a) https://git-scm.com/
- b) Downloads -> windows
二、 配置
- a) 打开命令行:win+r 输入cmd
- b) git --version 查看git版本号
- c) 配置:git config --global 全局配置,完成后所有项目都会使用这个配置
案例:
git config --global user.name “yw” 配置用户名
git config --global user.email “1769377530@qq.com” 配置联系方式
git config --global color.ui true 设置代码颜色
d) 查看所有配置:git config --list
三、 使用
- a) Git仓库的创建
i. cd test => git init 即可创建成功
ii. cd … => git init packageName
四、 基本用法
- a) git status查看当前文件夹下的状态
- b) 在当前文件夹下初始化创建test文件夹
- c) 在文件夹下创建you.txt
- d) 查看当前状态 git status
- e) 将当前目录下的所有文件提交到暂存区
git add . 用命令git add告诉Git,把文件添加到暂存区
git commit –m “说明内容” 用命令git commit告诉Git,把文件提交到仓库,即版本库 - f) git log 查看日志(更改的记录),最近的更新在最上面
git log --pretty=oneline 将多行日志显示为一行 - g) 退回指定的更新日子
git checkout 标识地址前七位,目录文件可以退回之前的内容
git checkout – 退回到上一个版本 - h) git log –p 查看更改的详细信息
- i) git clone 网址地址 克隆一个东西
- j) git rm readme.txt 删除文件利用git,然后commit提交即可,手动删除需要先add,然后commit.
五、 相关概念
工作区(Working Directory)
就是你在电脑里能看到的目录,比如我的learngit文件夹就是一个工作区:
版本库(Repository)
工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库
六、 提交到远程服务器
- a) git add .
- b) git commit --m “描述信息”
- c) git push https://gitee.com/ywgit/lianshou.git master
- d) 用户名:ywgit
- e) 密码:************
案例:
在远程服务器中例如码云中,点击新建项目,依次填写项目名称,介绍,是否公开(默认公开),不初始化项目,创建完成,获取https协议
将本地项目提交到版本库,然后添加到远程服务器。
错误:创建远程服务器过程中会创一个文件,造成远程服务器内容和本地不同步
git pull --rebase origin master
执行此代码,就可以使本地和服务器同步
七、为远程登录配置简写
git remote add lianshou https://gitee.com/ywgit/lianshou.git
修改文件
git add .
git commit -m “修改别名”
git push lianshou master
八、克隆,从远程服务器克隆项目
git clone https://gitee.com/ywgit/lianshou.git
更改之后重新提交
推送到服务器:git push https://gitee.com/ywgit/lianshou.git
master 主分区
九、获取服务器别人更新后的文件
git pull lianshou master
十、相关概念
工作区:即开发者的工作目录
暂存区:修改已被记录,但尚未录入版本库的区域
版本库:存储变化日志及版本信息
十一、版本回退
git log --pretty=oneline
git reset --hard HEAD^^ 可以退回到前两个版本,^代表前一个版本
十二、利用版本号回退
只需要版本号前7位
git reset --hard c61d11
git reflog 查看所有版本操作历史
通过gitlab指针回退
- 在本地拉取分支,通过如下命令回退、强制提交
git reset --hard bcf06759
退回到指定记录git push -f -u origin feature/v3.3.3
强制推送
十三、分支
- 查看分支
git branch 查看有多少个分支 - 创建分支
git branch wechat - 切换分支
git checkout ‘wechat’ - 合并分支
git merge wechat - 删除分支
git branch –d dev
案例:
创建好仓库并初始化之后,创建一个文件,提交到暂存区并提交到版本库 md rrd cd rrd git init
新建一个文件,index.txt git add . git commit --m “git init” 查看分支 git
branch 默认在master主分支上 创建一个wechat分支 git branch wechat
查看分支会出现两个分支,默认在master分支 切换分支,切换到wechat分支上 git checkout wechat
此时查看分支,即切换到了wechat分支上 在wechat分支上添加一个文件,并添加到暂存区并提交到仓库即版本库。 切换到master主分支
创建一个阿里分支: git branch ali 此时查看分支,会出现三个分支,默认值master,切换到ali
新建ali内容,ali.txt,添加到暂存区并添加到版本库 将ali合并到master主分支: git checkout
master 切换到master主分支 git merge ali 将ali合并到主分支
切换到wechat分支上,创建一个wechat.php文件,并提交到版本库 将wechat合并到主分支: git checkout
master 首页切换到主分支 git master wechat 将wechat 合并到主分支
如果两个分支操作过程中都操作了同一个文件,需要更新里面内容重新提交到版本库
十四、远程仓库配置
git remote -v查看远程仓库简写 git remote remove lianshou 删除lianshou简称(远程库的别名 git remote add origin https://git.oschina.net 添加别名为远程库
十五、配置公钥登录
git使用https协议,每次pull, push都会提示要输入密码,使用git协议,然后使用ssh密钥,这样免去每次都输密码的麻烦
我们push本地仓库到远程时,总要输入用户名和密码,很不方便
配置公钥,可以避免这种频繁输入用户名和密码的麻烦
删除https地址
git remote –v
git remote remove 远程仓库的别名
添加别名,用SSH协议地址
git remote add origin git@gitee.com:ywgitxxx/git.git
git remote –v
在github/码云上配置ssh公钥
ssh-keygen –t rsa –C 1769377xxx@qq.com
一路回车
可以看到在c盘下面user/.ssh/下
打开.pub公钥里面内容复制到码云配置公钥的地方粘贴
然后更改本地内容,利用公钥提交远程仓库,则不需要输入用户名和密码