Git
1.项目中存在的问题
1.项目的安全性太低
2.项目的版本比较混乱
3.项目的无端报错
4.项目没办法做到协同开发
2.Git概念
Git是分布式版本控制及协同开发工具
3.版本控制工具的分类
1.集中式版本控制工具 cvs svn
2.分布式的版本控制工具 git
4.Git下载安装
4.1.下载
从 http://msysgit.github.io/ 下载,然后按默认选项安装即可。
4.2.安装
1.傻瓜式安装,一路下一步
安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明 Git 安装成功!
安装完成后,还需要最后一步设置,在命令行输入:
$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"
因为 Git 是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和 Email 地址。你也许会担心,如果有人故意冒充别人怎么办?这个不必担心,首先我们相信大家都是善良无知的群众,其次,真的有冒充的也是有办法可查的
5.版本库
5.1.创建版本库
$ mkdir GitRepository #创建文件夹 文件夹就是版本库放的位置
5.2.初始化版本库
第二步,通过git init
命令把这个目录变成 Git 可以管理的仓库:
$ git init
瞬间 Git 就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),细心的读者可以发现当前目录下多了一个.git
的目录,这个目录是 Git 来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把 Git 仓库给破坏了。
6.Git的简单使用
6.1.创建文件
$ touch aaa.txt
6.2.将文件提交到Git仓库
第一步,用命令git add
告诉 Git,把文件添加到仓库:
$ git add aaa.txt
第二步,用命令git commit
告诉 Git,把文件提交到仓库:
$ git commit -m "创建一个aaa.txt"
简单解释一下git commit
命令,-m
后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。
6.3.Git分区原理
$ git status
红色 工作区的已经修改未添加到暂存区
绿色 工作区已经提交到暂存区为添加到版本库
working tree clean 表示工作区与版本库一致
git status
命令可以让我们时刻掌握仓库当前的状态
小结
现在总结一下今天学的两点内容:
初始化一个 Git 仓库,使用git init
命令。
添加文件到 Git 仓库,分两步:
第一步,使用命令git add <file>
,注意,可反复多次使用,添加多个文件;
第二步,使用命令git commit
,完成。
7.git指令
7.1查看历史版本
$ git log
git log
命令显示从最近到最远的提交日志,我们可以看到 3 次提交,最近的一次是append GPL
,上一次是add distributed
,最早的一次是wrote a readme file
。 如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline
参数:
$ git log --pretty=oneline
7.2.版本回退
7.2.1.会退到上一个版本
$ git reset --hard HEAD^
$ git reset --hard HEAD^1~100
最新的那个版本append GPL
已经看不到了!好比你从 21 世纪坐时光穿梭机来到了 19 世纪,想再回去已经回不去了,肿么办?
办法其实还是有的,只要上面的命令行窗口还没有被关掉,你就可以顺着往上找啊找啊,找到那个append GPL
的commit id
是3628164...
,于是就可以指定回到未来的某个版本:
7.2.2.回退指定的版本
$ git reset --hard 3628164
7.2.3.查看历史命令
现在,你回退到了某个版本,关掉了电脑,第二天早上就后悔了,想恢复到新版本怎么办?找不到新版本的 commit id 怎么办?
在 Git 中,总是有后悔药可以吃的。当你用$ git reset --hard HEAD^
回退到add distributed
版本时,再想恢复到append GPL
,就必须找到append GPL
的commit id
。Git 提供了一个命令git reflog
用来记录你的每一次命令:
$ git reflog
7.3.撤销修改
7.3.1.撤销工作区的修改
$ git checkout -- aaa.txt
7.3.2.撤销暂存区的修改
$ git reset HEAD aaa.txt
7.4.删除文件
一般情况下,你通常直接在文件管理器中把没用的文件删了,或者用 rm 命令删了:
$ rm aaa.txt #删除文件
7.4.1.误删文件
如果是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:
$ git checkout -- aaa.txt
7.4.2.删除文件
确实要从版本库中删除该文件,那就用命令git rm
删掉,并且git commit
:
$ git rm aaa.txt
$ git commit -m "确定删除文件"
8.GitHub使用
1.注册账号
2.登陆账号
8.1.生成SSH key
在自己本机生成
$ ssh-keygen -t rsa -C "[email protected]"
8.2.查看SSH key
路径:C:\Users\Administrator.ssh
8.3.公钥
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOQUUlqCCekbZL/kxK4qq1/ymKcugHq+ma7/bi1L9opDuaL53rzmzmQo4uDqIY/bpSM2NioFaQpK1OBeM3VPZ0PP7nepcZrs/8/7R6iJxOe/3Cgn+YG+rZBWpjvrebpq4Z//R2mKkMViFRi9n2u9+jUKdH2DwAfFxVHfEY8fm2Kt/2eWa9s7IincNKHTAi4JDi/ToX0EhFsfaw7uYBKdw7yBOmt9aRbMWlBBIsjCGfp256K/bd18SGDezpnmCT3g1pjKgxkYQ+0qK/yPO3stYAY3clTFhR3oh9prVRMNXGJZ9+2nTdxX5H4pRgTP0wZWf59ThUbqa1TGk+sxWgvEOV [email protected]
8.4.添加gitHub的信任列表
Settings -->SSH and GPG keys -->New SSH key
8.5.在GitHub上创建仓库
your reposities --> new
8.6.将GitHub上的仓库拉到本地
$ git clone [email protected]:15236674712/cmfz-158.git
8.7.将本地的版本库推到GitHub
$ git add aaa.txt
$ git commit -m "描述信息"
$ git push origin
8.8.将GitHub上的更新更新到本地
$ git pull origin
9.将本地项目交由Git管理并且推送至远程仓库
9.1.向将项目初始化为Git仓库
$ git init
$ git add .
$ git commit -m "添加项目"
9.2.添加忽略提交文件的配置
命名为 .gitignore
HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**
!**/src/test/**
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
### VS Code ###
.vscode/
9.3.在GitHub上创建一个空的项目
9.4.与GitHub从仓库建立远程连接
$ git remote add origin [email protected]:15236674712/maven_day1.git
9.5.将本地项目推送至远程库
$ git push -u origin master
9.6.将远程库项目的更新到本地
$ git pull origin master
10.分支
1.创建分支
$ git branch dev #dev是新的分支的名字
2.查看所有分支
$ git branch
3.切换分支
$ git checkout dev #dev是要切换分支的名字
4.创建并切换分支
$ git checkout -b dev
5.合并分支
注意:要切换到master分支上合并分支
$ git merge dev
6.删除分支
注意:要切换到master分支上删除分支
$ git branch -d dev