git本地操作
- 创建文件不丢失
- 记录历史随时回退
- 自动合并,但也需要手动合并
- 拥有强大的‘分支’
分布式
- svn(集中式)需要一台中央服务器
- git(分布式)每人都有完成的版本
- git速度快
- 一个.git文件(点开头隐藏文件)
配置用户(不配置用户不能提交)
- 查看配置
git config --listgit config --global user.name "你的名字"git config --global user.email "邮箱"复制代码
初始化git
- 项目初始化,git管理当前文件夹。不要嵌套使用
git init复制代码
- 查看git状态
git status复制代码
红色
linux指令(cmd是DOS命令)
- pwd 打印当前工作区路径print working directory
- rm -rf 文件夹名 删除文件夹(跟*或.全部删除,注意)
- rm 文件名 删除文件
- mv 文件名 到哪路径名 (移动文件)
- cd 目录名 改变路径(可以把文件拖入窗口)
- ls -al 显示目录下所有文件(list show -al展示隐藏文件 .开头文件)
2.文件操作
- mkdir 文件夹名 创建目录文件夹
- touch 文件名 创建文件
- cat 文件名 查看文件内容
- vi 文件名 编辑文件内容
- i 插入模式
- esc退出编辑模式
- :q!强执退出
- :wq 保存并退出
3.存储
- 查看git状态
git status复制代码
工作区(红色)
从工作区添加到暂存区git add 文件名或者.或者-A从工作区直接到历史库git commit -a -m"消息" (前提是提交过历史版本)复制代码
暂存区/过度区(绿色 .git index文件)
删除暂存区git rm --cached(或 . -A)git rm --cached . -r复制代码
从缓存区提交到版本库(没消息会提示添加)git commit -m"消息"复制代码
历史区/版本库
每次提交都有自己的版本号(40位)
查看日志版本号(回滚后不全)git log打印所有版本号git reflog 复制代码
区别对比
工作区 与 缓存区git diff工作区 与 版本库(master主干)git diff <分支name> 缓存区 与 版本库git diff --cached复制代码 分支name>
撤销
从暂存区中将工作区内容覆盖掉git checkout . 或 文件名复制代码
暂存区回滚上个版本git reset HEAD或 .复制代码
回滚历史版本,所有区都回滚git reset --hard 版本号git reset --hard HEAD^ 回归上一版本复制代码
查看操作历史
打印历史在1.txt文件中history >1.txt复制代码
创建并输入echo hello > 1.txt追加echo hello >> 1.txt复制代码
分支
看分支(创建分支)git branchgit branch 分支名创建并切换git checkout -b 分支名切换分支git checkout 分支名删除分支git branch -D 分支名删除时用户不能在当前分支上> 添加文件到历史区此时两个分支就没有关系了修改文件后无法切换分支git stash 暂存文件用过渡区覆盖工作区达到统一可以切换。git stash pop 还原文件暂存内容复制代码
创建主干文件,在主干添加分支,分支上进行提交,再切换主干合并分支
1.空文件夹没有分支,在第一次创建文件并提交完成才会生成master主干。
2.分支在提交过文件后,才会独立出去
合并分支git merge 分支名复制代码
远程仓库
- 先有自己的github
- .gitignore文件 (添加git提交忽略的文件)
- 空文件夹git会忽略,在里面添加一个.gitkeep文件即可
- README.md介绍文件
关联远程仓库git remote add 仓库名 路径删除关联git remote rm 仓库名查看已关联仓库git remote -v复制代码
本地提交
- 若仓库版本高(修改的版本多log多)则报错,应先拉取合并再提交
推送代码git push 仓库名 分支名复制代码
仓库拉取代码
仓库拉取代码git pull 仓库名 分支名复制代码
github
github挂网站
- gh-pages分支来发布我们的静态页,提交到线上仓库。在settings找到网址
复制代码
issue 问题
- 可以提交对项目的意见问题
更改别人的代码
- fork是在当前项目复制一份。
- 只有fork关系才能发送 pull request请求
拉取本地
git clone 项目地址 项目别名复制代码
默认就是git仓库而且有origin地址,可以将代码提交到自己的仓库上
github添加贡献者
setting Collaborators
GUI界面化
编程软件vcs设置