git基本操作
1.如何初始化一个git版本管理器
git init
2.如何把本地文件提交到版本库
有两步:git add . 和 git commit -m
3.查看提交的状态
git status
4.查看提交的历史
git log (提交详细信息)
git log --pre--pretty=oneline (简化历史信息)
5.如何回退上一个版本
git reset --hard HEAD^
6.如何回退到指定的版本
git reset --hard **** (提交id,可以不用写全,git会自动补全)
7.如何查看所有提交的id
git reflog
8.什么是工作区
就是电脑里能看到的目录
9.什么是版本库
.git 相当于一个版本库
版本库中包含:暂存区、指针、默认分支marter
git add . 命令相当于把修改的文件存放到暂存区
git commit 相当于把暂存区的文件提交到当前分支
10.如何丢弃工作区的修改
git checkout --radme.txt
11.如何丢弃暂存区的修改
git reset
12.如何删除
git rm 然后 git commit
远程仓库
1.配置ssh key
ssh-keygen -t rsa -C "1109056621@qq.com" (这里是你自己的邮箱)
2.登陆github
配置ssh key
粘贴id_rsa.pub文件的内容
假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了
3.添加远程仓库
有两种方式:git clone 和 git remote add origin ****** (这里是仓库的地址)
4.把本地库的所有内容推送到远程库上
git push -u origin master
由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令
从现在起,只要本地作了提交,就可以通过命令
git push origin master
5.关于git clone
Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快
某些只开放http端口的公司内部就无法使用ssh协议而只能用https
git分支
分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。
现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作
1.创建dev分支,切换到dev分支
git checkout -b dev (表示创建并切换分支)
分开来写
git branch dev
git checkout dev
2.查看当前的分支
git branch
命令会列出所有分支,当前分支前面会标一个*号
3.切换回主分支
git checkout master
4.合并分支
git merge dev (Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息)
git merge --no-ff -m "merge with no-ff" dev (分支历史上就可以看出分支信息)
5.删除dev分支
git branch -d dev
git checkout . 清除工作区