一、Git简介
git官网下载
什么是Git?
代码版本控制工具
一款版本控制工具
Git是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小到大的项目。
Git易于学习,占用空间小,性能快如闪电。
它超越了像Subversion、CVS、Perforce和ClearCase这样的配置管理工具,具有廉价的本地分支、方便的staging区域和多个工作流等特性。
一款版本控制工具
发展历史
1.U盘
2.svn 集中式 多个svn客户端上传到一个svn服务器
优点:1自带代码对比工具2每一次提交记录
缺点 公司内网,回家不能离线使用 svn服务器一旦挂掉,无人可救
3.git 分布式 (分布到每个人的仓库)linux开发者
优点:1自带代码对比工具2每一次提交记录
A 本地仓库 有记录 脱机使用
B push到远程仓库 服务器挂掉,每个人都有记录,影响比较小 pull拉取 push推送
流程图
Git使用流程
git init
初始化本地仓库git add .
添加所有到暂存区git status
查看状态git commit -m '第一次提交'
提交到本地仓库git log
查看提交记录git reset --hard HEAD^
回退一个版本git reset --hard HEAD~3
回退三个版本git reflog
查看操作记录 用于回退后再恢复git reset --hard 6位版本号码
git remote add origin 仓库地址
源地址git push -u origin master
- git remote -v 查看别名 url太长了记不住,就创建一个别名
- git remote add 别名 url
二、git操作
首次安装需要做的 确定是哪个人的代码,和将来degithub账号没有关系1.设置名字和邮箱
git config --global user.name "name"
git config --global user.email "123@qq.com"
可以在文件中查看
2.初始化
git init
3.配置git 忽略文件
不让一些文件上传
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
.classpath
.project
.settings
target
.idea
*.iml
4.生成公钥
ssh-keygen -t rsa
5.常见命令
touch <file> 创建文件
git add <file> 提交到暂存区 git add. . 表示通配符
git rm --cashed hello.txt 从暂存区删除--》未被追踪
git commit -m "日志" <file> 提交本地仓库 m:message的意思
git push 远程仓库
git status 查看状态
git reset --hard <ip> 版本穿梭(回退)
git reflog 查看提交日志
git log 查看详细提交日志
git branch -d <分支文件> 从其他分支删除
git branch -D <分支文件> 在master分支上强制删除
6.分支
1.创建分支
git branch hot-fix
2.查看分支
git branch -v
3.切换分支
git checkout hot-fix
4.合并到master
git checkout master
5.合并分支
git merge hot-fix
有冲突需要手动合并分支
2.2、gitee仓库
1、生成ssh公钥
ssh-key -t rsa
一直回车
2、查看秘钥
cat ~/.ssh/id_rsa.pub
复制到gitee公钥,ok
3、验证是否成功
ssh -T git@gitee.com
4、本地添加仓库
git remote add origin git@gitee.com:cx0413/git-test1.git
5、验证
git remote
6、上传代码
git push [-f] [--set-upstream]origin master
[-f] 表示强制提交
[--set-upstream] 第一次提交
git branch -vv
查看与远端关联关系
7、拉取代码
git pull https://gitee.com/cx0413/git-demo.git master
拉取=fetch+merge
抓取
git fetch 获得提交
git merge origin/master
8、克隆代码
git clone https://gitee.com/cx0413/git-demo.git
三、IDEA集成git
1.配置忽略文件
两者在同一目录下
1)git.ignore 文件模版内容如下:
# Compiled class file *.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see
http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
.classpath
.project
.settings
target
.idea
*.iml
2)在.gitconfig 文件中引用忽略配置文件(此文件在 Windows 的家目录中)
[user]
name = cx
email = 1437950849@qq.com
[core]
autocrlf = true
[core]
excludesfile = C:/Users/酷酷的鑫/git.ignore
注意:这里要使用“ 正斜线(/)”,不要使用“ 反斜线(\)”