Git基础用法
什么是Git
你好!别问我什么是Git,谁用谁知道,如你有SVN的经验的话,那就很容易学。
SVN与Git区别
windows下载git:https://git-scm.com
mac下载git:homebrew包管理器 https://brew.sh,配套ohmyz.sh插件
关键点:SVN集中式、Git分布式的区别。
分布式传输更快、分布存储完整代码、元数据存储方式区别与SVN,Git有单独的文件.git文件夹。
工作区:存放本地代码
暂存区/过渡区:.git 文件夹中index文件
历史区/版本库:本地版本库
启动Git Bash
Git配置用户(不配置用户不能提交代码)
Linux基本命令
- pwd:打印当前工作目录
- git config --list:查看当前git配置
- git config --global user.name:配置git用户名
- git config --global user.email:配置git邮箱
Git命令
- git init:初始化git,告诉git哪个文件夹正在被git管理。.开头为隐藏文件(一个项目初始化一次,不能嵌套)
- git status:查看git状态
- git rm --cached 文件名:删除暂存区内 .r
- git add . / -A / 文件名 :提交到暂存区
- git commit -m “提交描述消息”:提交到版本库
- git diff :工作区和过渡区比较版本(git对比)
- git diff master[分支名]:工作区和版本库比较版本(git对比)
- git diff --cached:过渡区和版本库比较版本(git对比)
- git checkout . / -A / 文件名:从暂存区版本中将工作区内容覆盖掉(撤销)
- git reset HEAD 文件名:暂存区回滚到上个版本
- git commit -a -m “提交描述消息”:直接从工作区提交到版本库(必须已提交过一次)
- git reset --hard 版本id(7位):历史区回滚之前版本号
- git log:查看历史区日志
- git log --graph --oneline:图形显示提交历史区日志
- git reflog:查看历史区所有日志(包括被回滚的)
- 先创建主干,在主干的基础上添加一个分支,在分支上进行提交,切回到主干合并分支。
- git branch:查看分支
- git branch 分支名:创建分支名
- git checkout 分支名:切换分支
- git branch -D 分支名:删除分支(当前分支不能在此分支中)
- git checkout -b 分支名: 创建并切换分支
- 添加文件到历史区时,两个分支就解除关系。
- git stash : 文件修改却要切换分支时,暂存更改(分支有更改不能切换分支)
- git stash pop: 还原到暂存更改
- git merge 分支名:合并分支(遇到冲突只能手动合并,留下想要的结果,再提交)
Linux命令
- rm -rf 文件夹名称 :删除所选.git文件夹(谨慎使用)
- rm 文件名:删除所选文件
- mkdir 文件夹名称:创建一个文件夹
- cd 目录名:切换工作目录
- mv 文件夹 新路径:将文件夹移动到指定目录下
- ls -al:显示当前文件夹下所以文件(含隐藏文件)
- touch 文件:创建空文件
- echo ‘内容’ >> 文件名1.txt:echo写入文件内容
- cat 文件名:查看文件内容
- vi 文件名( insert 插入编辑模式,esc退出编辑模式,:q!强制退出,:wq写入并退出;)
本地(历史区)-> GitHub
- 注册GitHub账号
- README.md
- 创建文件.gitignore,忽略git无需上传的文件
- git不会上传空文件夹
- 关联远程仓库:git remote add origin https://github.com/david1030/node-project.git
- 删除关联:git remote rm 名字
- git push -u origin master:推送远程github
- git pull origin master: 获取远程github
gh-pages分支来发布我的静态网页
- 项目中创建gh-pages分支:git checkout -b gh-pages
- 将分支提交仓库
- touch index.html -> git add . -> git commit -m ‘xxx’
- git push origin gh-pages
fork 叉子成自己的仓库,然后本地
git clone 项目地址 项目别名:默认git仓库,和origin地址,可提交到自己的Github仓库上,修改后add - commit - push
Github New pull request 按钮提交给原创
Setting - Collaborators 添加贡献者(同事们一起开发)
GUI界面化
各大开发工具皆有相关插件下载配置,如Sublime、Webstorm、VsCode等。