1.git
1.git本地操作
不停的创造文件进行备份(没有修改的提示),git可以帮助我们管理我们的代码保证代码不丢失
记录历史,只要代码提交git上就永久不会丢失,可以随时穿越
团队协作,两个人修改了同一个文件的同一行,也需要手动解决冲突,可以实现自动合并(模块化,组件化)
git拥有强大的分支管理系统
2.分布式
svn(集中式)需要一台中央服务器
git的区别
速度比svn快
svn中每个文件夹都有一个文件.svn文件,git有一个单独的文件.git文件夹
git使用分三个区域:工作区,暂存区/过渡区,历史区/版本库
3.git安装
windows Git官网
mac 如果安装过xcode自带git,homebrew是mac的包管理器
4.配置用户(不配置用户不能提交代码)
git config --listgit config --global user.name "你的名字"git config --global user.email "你的邮箱"
5.初始化git
一个项目初始化一次,不能嵌套
git init 告诉git哪个文件夹被git所管理git status 查看git状态
6.删除暂存区
git rm --cached . -r
7.添加到暂存区
将文件提交到暂存区:git add .或/A,工作区的文件名为红色,暂存区为绿色,当提交到下一个区域后,原区域的文件并不会消失
8.添加到历史区
git commit -m”消息”从暂存区提交到版本库
git commit -a -m”消息”从工作区直接提交到版本库(提交的文件需要至少被提交过一次)
9.git的对比
git diff:工作区和暂存区
git diff 分支名:工作区和历史区
git diff –cached:暂存区和历史区比较
10.撤销
git checkout .或文件名:从暂存区中将工作区内容覆盖掉,貌似也可以撤销上一次操作?
git checkout 版本号 文件名回滚某个版本的文件
history > 2.txt:git在本地的所有历史操作记录打印下来
gir reset HEAD 文件名:暂存区回滚一次,回到这次改动之前的内容,只能回滚一次
git reset –hard 版本号回滚到历史区的某个版本,并且覆盖工作区和暂存区
git reflog:当回到第一版本后,想要回到第三版本,无法通过git log打印出版本号,则需要用这个指令
11.分支
1.分支的概念
每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支。截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支。
HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。
一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点:
每次提交,master分支都会向前移动一步,这样,随着你不断提交,master分支的线也越来越长:也就是说,随着版本的不断更新,分支也会越来越长。
当我们创建另一个分支的时候,可以在上边进行操作,并且随着这个分支的提交,版本也会更新,但是master这个分支上的内容是不变的。
Git创建一个分支很快,因为除了增加一个dev指针,改改HEAD的指向,工作区的文件都没有任何变化!
我们可以通过一条指令,让master合并dev,从而使主分支进行更新。这样的好处是,我们可以把一个项目的一个版本分成多项内容分给多个成员进行编辑,最后只需要合并,就能完成一个项目。
因为创建、合并和删除分支非常快,所以Git鼓励你使用分支完成某个任务,合并后再删掉分支,这和直接在master分支上工作效果是一样的,但过程更安全。
2.分支的指令
git branch:查看分支,
*
代表当前所在分支git branch 分支名:创建分支
git checkout 分支名 切换分支
git branch -D 分支名删除分支(不能删除当前所在的分支)
git checkout -b 分支名创建并切换分支
添加文件到历史区,此时两个分支就没有关系了
git stash:暂存文件
分支有更改不能直接切换,可以提交更改或者暂存更改,暂存使用过渡区覆盖掉工作
git stash pop:还原缓存的内容
git merge 分支名:可以将当前所在分支合并到另一个分支上,可已将另一个分支有的,当前分支没有的合并过来
echo “内容” > 文件名:一个大于号表示向文件写入内容,两个大于号表示创建一个有这个内容的文件
3.合并分支
当主分支和其他分支对同一文件的同一内容进行不同修改时,会发生冲突,通过
git merge
指令会反馈一个master mergeing
分之合并中的状态,这是需要手动打开冲突文件,将想留下的内容留下,不想留下的内容删除,在进行提交到历史区,这样通过git log
打印出来的历史记录,会看到两个分支的历史记录。
2.本地->github
先有一个github账号
本地提交
READNE.md:这个文件是对这个项目的一些描述
创建一个.gitignore
git不会上传空文件夹添加.gitkeep在空文件夹内
关联远程仓库
git remote add origin 地址
删除关联
git remote rm 名字
推送代码
git push origin master
拉取最新的代码
pull = git fetch + git merge
git pull origin master(fetch+merge)
4.github上线操作
gh-pages分支来发布我们的静态页
在项目中创建一个gh-pages的分支
将分支提到线上仓库
找到提供给你的网站 settings github-pages
git checkout -b gh-pagestouch index.htmlgit add .git commit -m "xxx"git push origin gh-pages
issue问题
可以提交对项目,自己的信息
更改别人代码
fork是在当前项目下克隆了一份,如果代码更新,不会随之更新
只有fork关系才能发送 pull request请求
拉取到本地
拉取到本地的文件夹,默认就是git仓库,而且有origin地址,可以将代码提交到自己的仓库上
git clone 项目地址 项目别名
collaborators
添加贡献者,被添加的人拥有最大的权限
GUI界面化
3.linux命令
pwd
print working directory
查询当前用户rm -rf 文件:删除文件
rm 2.txt:删除文件
mkdir 文件夹名字:创建目录
cd 目录名:进入目录 changedirectory
ls:显示文件
ls -al:显示所有文件(包括隐藏)
touch 文件名:创建文件
cat 文件名:查看文件内容
vi 文件名:打开文件,比如txt文件,按
i
键进入编辑模式,esc退出编辑模式,:q!
强制退出,修改不被保留;wq
保存后退出,按回车键mv 要移走的项目 ~目标文件:移动文件到别的文件下
转载请注明: Vue教程中文网 - 打造国内领先的vue学习网站-vue视频,vue教程,vue学习,vue培训 » git实用教程