1. Git是什么?
Git是目前世界上最先进的分布式版本控制系统。
下面是它的工作原理:
- workspace:工作区,就是你平时存放代码的地方。
- Index/Stage:暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息。
- Repository:仓库区(或本地仓库),就是安全存放数据的位置,这里有你提交到所有版本的数据。其中HEAD指向最新的版本。
- Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑数据交换。
2.git的工作流程:
3.git项目搭建:
设置全局用户名域邮箱(用户标识,必要)
git config --global user.name "porridge" #名称
git config --global user.email 806317173@qq.com #邮箱
本地仓库搭建
#初始化本地仓库
git init
#创建一个文件
touch README.md
#将该文件存放到暂存区
git add README.md
#提交到暂存区
git commit -m "first commit"
#配置远程仓库
git remote add origin https://gitee.com/he12345600/git-text.git
#上传到远程仓库
git push -u origin "master"
远程仓库创建(Gitee为例)
官网:https://gitee.com/
就这样初始化好了。
4.Git文件操作
文件的4种状态
#查看文件状态
git status
#查看指定文件状态
git status [filename]
# 查看提交记录
git log
# 查找指定作者的提交记录
git log --author='作者名'
# 删除文件
git rm read.md
#重命名文件
git mv read.md newread.md
#查看文件的前后变化
# 获取commitID
git log --pretty=oneline read.md
# 通过commitID获取文件变化信息
git show [commitID
# 查看所有版本的改动信息
git log -p demo.html
#还原操作
# 查看当前文件与上一次提交的不同
git diff
# 恢复上一次提交的状态
git checkout -- demo.html
#回退版本操作
git reset --hard
# 有多少个[^],就代表回退多少个版本
git reset --hard HEAD^
# 通过版本号回退
git reset --hard [commitID]
# 某一文件回到指定版本
git checkout [commitID] -- demo.html
忽略文件
idea常用忽略文件
*.class
*.log
*.lock
# Package Files#
*.jar
*.war
*.ear
target/
# idea
.idea/
*.iml
###STS###
.apt_generated
.factorypath
.springBeans
###InelliJ IDEA###
*.iml
*.ipr
*.iws
.idea
.classpath
.project
.settings/
bin/
*.log
tmp/
#rebel
*rebel.xml*
5.码云设置公钥
SSH公钥,实现免密码登录
#进入C;\Users\用户\.ssh
#生成公钥
ssh-keygen
#使用加密
ssh-keygen -t rsa
6.Git分支中的常用命令
#列出所有本地分支
git branch
#列簇所有远程分支
git branch -r
#新建一个分支,但依然停留在当前分支
git branch [branch-name]
#新建一个分支,并切换到该分支
git checkout -b [branch]
#合并指定分支到当前分支
git merge [branch]
#删除分支
git branch -d [branch-name]
#删除远程分支
git push origin --delete [branch-name]
git branch -dr [remote/branch]
#解决冲突问题
# 忽略其他分支的代码,保留当前分支的代码
git merge --abort
#删除远程仓库的分支
git push origin --delete dev
# 拉取默认分支
git fetch
# 拉取指定分支
git fetch origin dev