Git 及 GitHub 使用
Git bash 的常用命令
1、 pwd 查看当前所在目录
2、 cd
cd .. 返回上一级
cd 目录 进入对应的目录
3、 ls 查看当前文件夹的内容 可以传递参数
-a 可以把隐藏的文件或者文件夹全部列出来
-l 文件或者文件夹的详细信息
参数的形式和正则的参数形式用法类似(不分先后,可以多个或者没有)
4、 mkdir 创建目录
mkdir css js img
5、 touch 创建文件
touch index.html
6、 cat 查看文件的全部内容
7、 less 分页浏览
less index.html
回车表示换行阅读
空格表示分页阅读
q退出
8、 rm 删除文件,不能删除目录
9、 rmdir 删除文件夹
只能删除空的文件夹,并没有什么用
10、 rm-r 使用递归的方式删除带文件的文件夹
rm –r 文件夹
11、 mv 剪贴操作,并且可以改名字
mv old new
12、 cp 复制,并且可以改名字
13、 head 阅读文件的前多少行
head –n 5 index.html
head -5 index.html
14、 tail 阅读文件的后多少行
参照上面
15、 history 查看历史输入的命令
16、 > >> 重定向
> 表示覆盖
>> 表示追加
echo hello > abc.html
ls –la >> abc.html
17、 wget 下载
wget 资源包
18、 tar 解压缩
19、 curl 网络请求
curl https://www.baidu.com/ > baidu.html
20、 whoami 查看当前计算机的用户
21、 grep 匹配内容
grep 需要匹配的内容 匹配的文件
grep 100 index.html
22、 | 管道符
将上一次的结果作为参数传递过来
ls –al | grep s
VI编辑器
类似于windows底下的记事本,编辑文件,修改文件…
VI编辑器 三种模式
命令模式、插入模式、底行模式
命令模式 à 插入模式 输入i 退出ESC
命令模式 -> 底行模式 输入shift + : 退出ESC
插入模式和底行模式是不能切换的
vi index.html 进入的是命令模式
命令模式中:
ZZ(大写) 保存并退出
u 撤销
dd 删除当前行
yy 复制当前行
p 粘贴
ctrl+f 向下翻页
ctrl+b 向上翻页
命令模式切换到插入模式
i
a
A
o
O
(自己上手敲着试试,看看效果)
底行模式:
:w 保存文件
:q 退出
:wq 保存并退出
:q! 强制退出
:e! 撤销
:set nu 设置显示行数
git的使用:
git是什么?
svn和git是版本控制工具
svn是集中式的
git是分布式的版本控制管理工具
git的仓库有两个(远程和本地是可以关联的)
git本地仓库,就是系统中的文件夹
git远程仓库,就是github
本地仓库(3个区域)
工作区:放编辑时的代码
暂存区:暂时存储
仓库:存储
工作区->暂存区->本地仓库 ->远程仓库
变成git的仓库
1、git init
里面就多了一个.git的隐藏文件夹,就是git的本地仓库
验证:
- 会有一个主分支(master)
- 可以通过ls –al 命令查看是否由.git文件夹
2、配置用户信息
设置自己的用户名,设置自己的邮箱
git config --global user.name “用户名”
git config --global user.name “psh”
git config --global user.email “邮箱”
git config --global user.email hanye_web@sina.cn
3、git status 查看仓库的状态(以暂存区为主)
Untracked files: 红色的,表示没有追踪到的文件
绿色的就是代表暂存区的文件
modified: 表示被修改的文件,工作区和暂存区的文件不一样
4、git add *(-A)
将工作区的所有文件放到暂存区
5、git checkout 文件名 不常用,不可恢复
把暂存区的内容还原到工作区
git checkout index.html
6、git commit -m “注释”
将暂存区的所有内容放到git仓库
会生成一个唯一编号9bb740523ff0d21fa77f2ec68bd07c309568be3c
7、git log
查看历史提交的版本
8、git reset --hard 唯一ID(参照第六条命令中的格式)
分支
当变成了git仓库的时候,就已经有一个master分支,master是主分支
主要是做bug修复,协同开发
9、git branch 查看分支
* 绿色的 表示当前所在的分支
10、git branch 分支名
创建分支
11、git checkout 分支名
切换分支
12、git merge 分支名
在当前分支底下合并分支
13、git branch -d 分支名
删除分支
14、git branch -D 分支名
强制删除分支,分支没有合并的时候强制删除
如果出现冲突,只有自己做对比手动的删除
GitHub使用
git config --global user.name “psh”
git config --global user.email “hanye_web@sina.cn”
在命令行中,如果不报错,基本都是OK的
查看是否配置成功
1. C:\Users\Administrator 中有个.gitconfig文件,里面放的用户名和邮箱
2.git config --list
搭建git服务器(远程仓库):统一的托管网站(https://github.com)
为了在本地和远程之间进行免密钥登录,可以配置ssh
配置ssh:先在本地配置,发送给远程
先在本地生成ssh 一直回车
ssh-keygen -t rsa -C “hanye_web@sina.cn”
在C:\Users\Administrator文件夹中会生成一个.ssh的文件夹
里面有两个文件
进入github,如果没有就先注册
注册成功以后 settings -> SSH and GPG keys -> New SSH key
title就是本地和远程关联的名字
key就输入 上一步的id_rsa.pub里面的内容
粘贴进来以后一定要删掉最后一个回车符
测试通信是否成功
ssh -T git@github.com
成功以后.ssh文件夹会多一个known_hosts文件
成功以后本地和远程可以成功通信
如果失败:多尝试几次,检查回车符
到现在已经是把本地仓库和远程仓库已经关联
项目关联
在本地新建git项目
在本地项目根目录进入git bash
在远程建立项目 Your profile -> Repositories -> new
项目唯一标识符
本地项目和远程项目关联
git remote add origin git@github.com:hanyeweb/mygitremove.git
项目已经关联成功
推送和拉取项目
第一次发布项目 (本地-远程)
git push -u origin master 把本地仓库的所有内容推送到远程仓库
第一次下载项目 (远程-本地)
git clone git@github.com:hanyeweb/mygitremove.git
提交(本地-远程)
git push origin master
更新(远程-本地)
git pull