Git介绍
Git结构
本地结构
- 本地,add,commit,push到云端
- 云端可以pull request,merge
- 本地clone创建项目,pull更新项目
团队内部操作
跨团队合作
局域网环境Gitlab
外网环境Github,Gitee
初始化本地仓库
git config --global user.name "test" git config --global user.email "test@163.com
本地仓库的初始化命令
git init
生成.git文件
添加/提交文件
git add . git commit -m "init"
- add . 是添加除了.gitignore文件中列出的全部,包括隐藏文件
- add * 是添加以上文件种不包含隐藏文件的全部文件
查看状态
git status
会列出对应的添加,提交状况以及本地分支和远程分支等信息
查看提交
git log
本质上就是打日志,显示由近到远
git log --pretty=oneline
一行一行表示提交信息
git log --oneline
git reflog
显示回退步数
更所Head指针,前进或后退历史版本
git reset --hard 67c897
git reflog
- hard参数,git reset --hard,本地区指针移动的同时,重置暂存区和工作区
- mixed参数,git reset --mixed,本地区指针移动的同时,重置暂存区,工作区不移动
- soft参数,git reset --soft,本地区指针移动的同时,暂存区和工作区都不会移动
用得比较多的就是 --hard 参数
比对文件的差异
git diff filename
比较工作区和暂存区中,所有文件的差异
通过索引
通过head指针
git diff [历史版本][文件名]
分支
切换分支
git checkout branch01
查看本地分支
git branch -v
合并到主分支
git merge branch01
远程库比较长,将Git本地将地址通过别名保存到
git remote -v
查看远程库地址
git remote add origin repoName
推送操作
git push origin master
输入账号和密码
清空缓存
git rm -r --cached .
拉取操作
git fetch origin master
将远程库的内容下载到本地
合并操作
git merge origin master
fetch和merge操作,直接pull
git pull origin master
如果push发生冲突,先pull下来,再修改冲突,再push
解决完冲突以后,向服务器推送
fork,然后clone,然后自己改自己的分支,开发完成后,请求合并到源地址仓库
SSH免密登录
生成.ssh目录
ssh-keygen -t rsa -C youremail
.ssh下有两个文件,id_rsa和id_rsa.pub,将id_rad.pub文件,将里面内容进行复制操作,然后粘贴到github或者gitee的 SSH And GPG keys
然后添加这个key,之后就能用ssh进行拉取和推送了
设置ssh的别名
git remote add origin_ssh your_ssh_url
推送ssh的master分支
git push origin_ssh master
IDEA集成GIt
IDEA拉取项目
论读书
睁开眼,书在面前 闭上眼,书在心里
睁开眼,书在面前 闭上眼,书在心里