1 git 应用
2 git 仓库的创建
3 git 的回滚,删除 ,checkout
4 git 和远程仓库的关联
============================================================================================
==== 1 git 应用
maven 项目生命周期管理工具
git 开源的,分布式的版本库
1) 下载,安装
git 官网 https://git-scm.com/
Git-2.24.1.2-64-bit.exe
2) 打开 Git Bash 命令行
可以直接双击桌面图标
或右键的方式
或直接在DOS窗口操作
Git Bash 下常用的 Linux 命令
-ls //列目录
-ll //相当于 ls -l
-ls -al //显示所有的文件,包扩隐含的
-clear //清屏
-ctl +l //清屏
-touch //建文件
-vim //编辑文件
-pwd //查看当前路径
附: vim 命令
vim a.txt 然后按 i ,进入编辑模式,编辑,完毕以后,按 esc 进入 指令模式,再按 :wq 保存退出 (有时候要用wq! ,表示强制保存退出)
==== 2 git 仓库的创建,和提交
git 的信息查询
(1) git config -l 查看当前配置信息
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
http.sslbackend=openssl
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
core.autocrlf=true
core.fscache=true
core.symlinks=false
credential.helper=manager
(2) git config --global -l //如果是第 次装git 这里会报一个错
(3) git config user.name
设置用户名和密码
$ git config --global user.name "cat" //后面的双引号可以不加
$ git config --global user.email "732422364@qq.com"
上面的用户名和密码,只是起一个标识作用,将来提交代码的时候知道是谁提交的,email 符不符合规范都不要紧
实际上,对于全局配置, 会在 C:\Users\Administrator\ 下建一个 .gitconfig 的文件,内容
[user]
name = cat
email = 732422364@qq.com
创建仓库 ,完成版本控制
(1) 创建本地git仓库
>git init
初始一个空的git仓库, 会生成一个隐藏的文件夹 .git (千成不要删除)
git 中的工作区,暂存区,历史区(版本库),远程仓库 的概念
==工作区: 就是你现在能看到的工作的目录
==暂存区: stage (阶段) 或 index , 一般放在 .git/index 文件
==历史区: repository 仓库,或本地仓库
==远程仓库: remote (git hub 或 gitee等)
工作区 add==> 暂存区 commit==> 版本库 push==> 远程仓库
(2) 在工作区编写文件,提到 暂存区
>git add xxx //把 xxx这个文件提到暂存区
>git add *.java //把所有的.java文件提到暂存区
>git add . 或 git add -A //提交所有的文件到暂存区
>git status 可以查看状态
On branch master //现在用的分支是 master
No commits yet //没有提交的
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
//绿色的 表示提了
new file: a.java
new file: b.java
new file: lesson4.java
Untracked files:
(use "git add <file>..." to include in what will be committed)
//红色 表示没提
c.txt
d.txt
红色代表文件在工作区
绿色代表文件在暂存区
看不到的代表所有的修改信息都已提到历史区
(3) 提交到历史区
> git commit -m "01 这是项目初始化,第五组的ssm之路开始了..." //-m 后面的是本次提交相关的说明
> git log 查看历史信息
> git log
> git log --pretty=oneline //可以查看简明列
0dd0db2d6170842d45c642aff8c523c869c62752 (HEAD -> master) 03 添加了两个js
f23cf2bd8c4cc35752cf6443558f3e744adb78fe 02 添加了登录和主界面
4b1738f3dacef6f5e7d2fd5ef176648c294d6bbc 01 这是项目初始化,第五组的ssm之路开始了...
> git reflog 查看历史信息,包含回滚信息
关于中文名文件的问题
在 目录中新建一个 名单.txt
>git status 发现 "\345\220\215\345\215\225.txt"
>git config --global core.quotePath false
再查看,中文名能显示出来了
(4) 忽略文件
在当前目录,建一个叫 .gitignore 的文件 内容
.settings //忽略 .settings目录
build //忽略build目录
.classpath ///忽略.classpath 这个文件
target //忽略target 目录
xxx.txt //忽略 xxx.txt
....
==== 3 git 的回滚,删除 ,checkout
1) 回滚
===取消已提到暂存区的内容 ===
>git reset //从暂存区撤回全部
>git reset a.h //从暂存区撤回 a.h
=== 历史区记录回滚 ====
> git reset --hard HEAD^ 回滚到上一次
回退到某个版本
> git reset --hard f23cf2bd8c4cc35752cf6443558f3e744adb78fe //其实取前几位就可以
> git reflog //查看历史版本提交和回退情况
2) 删除已存在于版本库中的目录或文件
直接在工作区中删除
git add
git commit
3) checkout
>git checkout * //从版本库签出所有
>bit checkout b.css //只签出b.css
==== 4 git 和远程仓库的关联
码云 https://gitee.com/
1) 先在 gitee 上建远程仓库
2) 把远程仓库克隆到本地
>git clone 地址
==> git clone https://gitee.com/fangyiguo/ssm-blog.git
会把远程仓库,克隆到本地
>git remote -v //移除和远程仓库的关联
origin https://gitee.com/fangyiguo/ssm-blog.git (fetch)
origin https://gitee.com/fangyiguo/ssm-blog.git (push)
>git remote add origin https://gitee.com/fangyiguo/ssm-blog.git //添加和远程仓库的关联
3) 在克隆下来的仓库上进行开发
>git status 查看
>git add . 提到暂存区
>git commit -m "提示信息" 提到历史区
>git push origin master //master 指的是仓库的master分支 (有可能要输入账号和密码,是码云的登录账号和密码)
>git pull origin master //从远程仓库拉取内容到本地
冲突的问题
两个用户修改了同一个文件, 在互相提交和拉取的时候可能产生冲突
解决: 把冲突的文件修改正确以后,再提交