一、简介
Git 分布式的版本管理工具
Svn 集中式的版本管理工具
二、Git Bash
(1)Shell
Shell 壳,最终是用来操作计算机的硬件的,不管是图形化界面,还是命令行的界面,都是完成相同的功能
- 图形界面 shell
- 命令行的 shell eg:
cmd gitbash
(2)git bash 常用的命令
pwd 查看当前的目录
cd 切换目录
ls 列出当面目录中的内容
ls -a 显示隐藏的文件
ls -l 列出文件的详细信息
ls -al(-la)
mkdir 创建目录 可以创建多个文件夹
touch 创建文件 可以创建多个文件
cat 查看文件内容
eg : cat index.html
less 查看文件
eg : less index.html
空格分页阅读
回车换行阅读
q 退出
rm 删除文件 不能删除文件夹
rmdir 删除文件夹 只能删除空的文件夹
rm -r 文件夹 使用递归的方式删除有文件的文件夹
mv 移动文件可以重命名
cp 复制
head 查看文件的前几行
head -n 10 index.html
head -10 index.html
tail 查看文件的后几行
tail -n 10 index.html
tail -10 index.html
history 查看历史
> 和 >> 重定向操作符
echo hello world > abc.txt
ls -al > log.txt
> 覆盖
>> 追加
wegt 下载
tar 解压缩
curl 网络请求 eg : curl www.baidu.com
whoami 查看当前的用户
管道符 | 可以把上一次的命令当成参数传递给下一个命令
grep 匹配内容 一般是跟管道符一起玩
grep div index.html
ls -al | grep css 匹配所有的css文件
(3)Git 的使用
1、git 的工作流程
工作区->暂存区-> git本地仓库-> git远程仓库(github) 绿色的表示git文件夹中
2、配置用户名和邮箱的命令
git config --global user.name "psh"
git config --global user.email "coding****@sian.com"
// 文件创建好后在C:\Users\Administrator中.gitconfig文件中
3、新建一个 git 项目
- 新建一个
git
项目,随便新建一个文件夹,在新建文件夹中右键gitbash
git init
初始化git
文件夹 git status
查看文件的状态(看文件到底是在工作区还是暂存区)
红色的表示没有被追踪到的文件(在工作区)
被修改以后的文件没有放到暂存区,都是红色的(在工作区)
绿色的表示在暂存区git add *(-A)
把工作区的所有文件放到暂存区git checkout
文件名 暂存区的文件还原到工作区git commit -m
“提交的注释” 把暂存区的所有文件提交到git
本地仓库git log
查看历史提交到git本地仓库的版本(查看隐藏文件夹.git
文件夹中的所有内容)
7. git reset --hard 唯一ID (可以切换到git本地仓库的任意版本)
(4)Github 的使用
使用流程
1. git 本地仓库和远程仓库关联
2. git 项目关联
1、仓库关联
为了在本地和远程之间进行免密钥登录,可以配置ssh
配置ssh:先在本地配置,发送给远程
ssh-keygen -t rsa -C "coding****@sina.com"
出现如上界面表示ssh生成成功
生成文件 :id_rsa.pub(C:\Users\Administrator\.ssh目录中的)
2、进入 Github —— Git 本地仓库和 Github 远程仓库进行关联
1. GitHub 注册成功以后 settings => SSH and GPG keys => New SSH key title 任意写
2. key 中输入刚才本地生成的 ssh * 一定要删掉最后一个换行 *
New SSH Key
生成 :第一个git_01 项目库
测试通信是否成功
ssh -T [email protected]
成功以后.ssh文件夹会多一个known_hosts文件
本地仓库和远程仓库已经关联成功 即可以成功通信
3、Git 本地项目和 Github 远程项目关联及交互
1. 在远程建立项目 Your profile -> Repositories -> new
2. 本地项目和远程项目关联
git remote add origin 项目唯一标识符
此时,本地项目和远程项目已经关联成功
4、本地项目和远程项目通信
1. 第一次发布项目 (本地->远程) 把.git 隐藏文件中的所有内容全部放到 github 中
git push -u origin master
2. 第一次下载项目 (远程-本地)
git clone 项目唯一标识符
3. 提交(本地-远程)
git push origin master
4. 更新(远程-本地)
git pull
~~~~~~~~~~~~~~~~~~~ END ~~~~~~~~~~~~~~~~~~~