目录
一 准备工作
1.预备知识
git有 工作区 暂存区 本地仓库 远程仓库 (前三个均在我们的电脑上)
红色表示在工作区,未提交到暂存区,提交到暂存区是绿色的
2.初始git设置
//"用户名称"
git config --global user.name
//"邮箱地址"
git config --global user.email
//查看设置信息
git config –list
二 git 基本操作(从本地至远程仓库)
1.初始化本地仓库
安装git 创建文件夹 在文件夹中右击鼠标 选择Git Bash Here 然后输入如下:
git init
git init
一定要在项目模块的同级目录使用(如下图git init
操作实在gitTes
目录下使用的),方便对所有模块进行管理,此外还要再这一级目录内添加.gitignore
文件(可以从别的地方复制来)。
2.提交至暂存区
1.提交单个文件
git add git01.txt
2.提交所有文件
git add .
3.提交至本地仓库
git commit -m '备注信息'
4.推送至远程仓库
origin 代表原始的远程仓库名 可以时其它名字
1.添加远程仓库地址
第一次初始化后就可以了
git remote add origin 远程仓库地址
2.推送至远程仓库
方式一
origin 代表原始的远程仓库名
btanch_name 要推送的分支名
git push origin branch_name
方式二
推送至远程仓库
git push -u origin master
5.从远程仓库下载资源
方式一
克隆远程仓库
git clone 远程仓库的http地址
方式二
拉取远程分支并在本地创建远程分支
local_branch 本地分支的名字
origin/remote_branch 远程分支的名字
git checkout -b local_branch origin/remote_branch
方式三
1.从远程获取代码并合并本地的版本(拉取全部)。
git pull
2.将远程主机 origin 的 master 分支拉取过来,与本地的 brantest 分支合并。
git pull origin master:brantest
3.如果远程分支是与当前分支合并,则冒号后面的部分可以省略。
git pull origin master
三 回退操作
1.把文件从暂存区退回到工作区
git reset HEAD git01.txt
2.把文件从本地仓库退回到工作区
1.查看日志信息
方式一
查看提交的日志信息(如果版本发生了回退那么回退后的版本信息是看不到的)
git log
方式二
查看提交的日志信息(如果版本发生了回退也可以看到)
git reflog
方式三
查看日志信息 每条日志信息只显示一行(用于提交的版本过多不方便查看)
git log --pretty=oneline
2.回退版本(工作区间的代码进行回退)
方式一
回退到上一个版本(回退几个版本最后加几个 ’^‘)
git reset --hard HEAD^
方式二
波浪线后跟着要回退的版本次数
git reset --hard HEAD~1
方式三
跳转到某个版本 根据git reflog 查出来的唯一标识(黄色的字体)来跳转
git reset --hard 黄色的唯一标识
三 删除与找回
1.删除本地仓库中的文件(可以通过回退版本找回)
方式一
删除本地仓库中的文件
先手动删除本地文件,然后提交被删除的文件至暂存区,再提交至本地仓库,这样就删除了本地仓库中的文件了
git add git01.txt
git commit -m '删除git01.txt'
方式二
直接删除本地仓库中的文件,然后再手动删除工作区间的文件
git rm git01.txt
1.文件找回(可以通过回退版本找回)
当提交A文件后手动删除工作区的文件A时,我们的工作区中没有文件A,在git中查看状态表示 A文件为删除的状态(红色),版本库中有A文件。
方式一
撤销文件的修改,使文件恢复到暂存区或本地代码库(取决于文件在修改前的状态)
git restore 文件名
方式二
从本地仓库中拉取文件 (文件只在工作区间内被删除,本地仓库还存在)
git checkout 文件名
四 分支操作
1.本地分支操作
new_branch 新分支名 ,oldbranch 老分支名
1.切换分支
git checkout branch
2.新建分支并切换到新建分支
git checkout -b new_branch
3.删除指定分支
git branch -d branch
4.查看所有分支并且*号标记所在分支
git branch
5.合并分支
一定要在主干上面合并分支
git merge branch
6.重命名分支
如果newbranch名字分支已经存在,则需要使用-M强制重命名,否则,使用-m进行重命名
git branch -m |-M oldbranch newbranch
2.远程分支操作
1.查看本地与远程分支
git branch -a
2.推送本地分支到远程
origin 代表原始的远程仓库 可以有其他的仓库
btanch_name 要推送的分支名
git push origin btanch_name
3.删除远程分支(本地分支还在保留)
git push origin :remote_branch
4.拉取远程指定分支并在本地创建分支
git checkout -b local_branch origin/remote_branch
四 使用ssh方式进行推送和拉取
1.在本地生成密钥
ssh-keygen -t rsa - c "gitee或githb邮箱"
2.密钥放置位置(里面有公钥和密钥)
一般来说用公钥
/c/user/Administrator/.ssh/.id_rsa
3.绑定密钥(绑定码云或github)
ssh -T git@github.com
4.用ssh方法进行上传(与http的不同时邮箱地址的不同)
五 处理分支冲突
两个分支都对同一个文件,同一行,内容不一样,所以 在合并的时候就会产生冲突
1.本地分支冲突
B合并至A时发生冲突
先找到冲突的文件A
看具体的业务需求对冲突的部位进行调整
再对A进行提交
2.远程分支冲突
先拉取远程仓库中分支最新的状态
视情况调整冲突位置
再进行提交
六 idea集成git
1.设置
Settings ---- Version Control —Git
找Git的安装目录 找到 git.exe 然后点Test 出现版本号就说明集成好了
2.设置创建项目
实质是git clone
URL为远程仓库的地址
3.从远程克隆下来的项目默认被git管理了
4.对于没有被git管理的项目
1.初始化git使得项目被管理
相当于 git init
然后选择被管理的项目
4.获取远程分支最新的状态
fetch 只会获取状态消息,并不会把远程分支下载到本地
5.拉取最新的远程分支
checkout as 拉取远程分支并再本地创建新的分支
6.安装.ignore 插件
用于在提交的时候忽略 .idea 和 .gitdemo.iml 文件
这两个东西是idea环境的配置文件
1.选择项目文件右击new 一个.ignore文件
2.选择要被忽略的文件 右击选择加入 .gitignore 文件即可
七 标签管理
新建标签 默认为HEAD
git tag tag_name
添加标签并指定标签描述信息
git tag -a tag_name -m '描述信息'
查看所有标签
git tag
删除一个本地标签
git tag -d tag_name
推送本地标签到远程
git push origin tag_name
推送全部未推送的本地标签到远程
git push origin -tags
删除一个远程标签
git push origin :fefs/tags/tag_name
八 其它操作
1.比较工作区和本地仓库中某个文件的不同
git diff -HEAD --git01.txt
2.查看文件状态
红色表示在工作区,未提交到暂存区,提交到暂存区是绿色的
git status
3.查看本地仓库文件
git ls-files