git本地操作

  • 创建文件不丢失
  • 记录历史随时回退
  • 自动合并,但也需要手动合并
  • 拥有强大的‘分支’

分布式

  • svn(集中式)需要一台中央服务器
  • git(分布式)每人都有完成的版本
  • git速度快
  • 一个.git文件(点开头隐藏文件)

配置用户(不配置用户不能提交)

  • 查看配置
git config --list
git 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 <file> (或 . -A)
git rm --cached . -r
从缓存区提交到版本库(没消息会提示添加)
git commit -m"消息"

历史区/版本库

每次提交都有自己的版本号(40位)
查看日志版本号(回滚后不全)
git log
打印所有版本号
git reflog 

区别对比

工作区 与 缓存区
git diff


工作区 与 版本库(master主干)
git diff <分支name>

缓存区 与 版本库
git diff --cached

撤销

从暂存区中将工作区内容覆盖掉
git checkout . 或 文件名
暂存区回滚上个版本
git reset HEAD <filename> 或 .
回滚历史版本,所有区都回滚
git reset --hard 版本号
git reset --hard HEAD^ 回归上一版本

查看操作历史

打印历史在1.txt文件中
history >1.txt
创建并输入
echo hello > 1.txt
追加
echo hello >> 1.txt

分支

看分支(创建分支)
git branch
git 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挂网站
  • gh-pages分支来发布我们的静态页,提交到线上仓库。在settings找到网址

issue 问题

  • 可以提交对项目的意见问题

更改别人的代码

  • fork是在当前项目复制一份。
  • 只有fork关系才能发送 pull request请求

拉取本地

git clone 项目地址 项目别名

默认就是git仓库而且有origin地址,可以将代码提交到自己的仓库上

添加贡献者

setting Collaborators

GUI界面化

vcs 第二个

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐