[TOC]
1. git安装与配置
1.1 git安装
搜索git进官网下载,安装即可!
查看都有哪个版本的GIT
which -a git
查看自己使用的git版本
git --version
使用指定版本的git
vim .bash_profile(mac)
export PATH= 安装路径:$PATH
sourve .bash_parofile(加载)
1.2 git基本配置
- 增删改查
git config --global user.name "name"
git config --global user.email "email"
git help config
man git-config
增加用户
git config --global --add user.name "name"
git config user.name(查看当前用户)
删除用户
git congif --get user.name
git config --list --global(查看当前配置信息)
git config --global --unset.name "anme"(删除当前name用户)
修改用户
git config --golbal user.name "na"
查看所有用户
git config --get user.name
git config --list --global
- 子命令
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.st status
git config --global alias.ci commit
git config --global alias.lol "log --oneline"
2. git基本工作流程
git的四种 对象
- blob
- tree
- commit
- tag:固定的历史提交
git仓库
git仓库的创建
git init 目录
git裸仓库
git init --bare 目录
将已有文件纳入git
直接进入这个目录下,然后执行
git init即可
或者
git clone
git clone 裸仓库 新名字
- 工作区
- 暂存区
- 历史提交
工作区---暂存区---历史记录--暂存区or工作区
- git add
- git commit
- git status
- git rm 删除
- git mv移动重命名
- gitignore 不添加某些东西
git add a b 将a和b加入暂存区
git status 查看提交
git commit -m "提交信息" #提交到历史仓库
git rm file 删除工作区和历史仓库的文件
git rm --cached file 仅仅删除暂存区的文件
git mv file newFile 重命名
将当前路径下的所有文件都添加都暂存区
git add .
git add -A
忽略目录下这些文件,不跟踪这些文件
vim .gitigonore
通过通配符的样式忽略
.[oa] 忽略以.o和.a结尾的文件
!a.o 不要忽略这个文件
**/res 匹配零个或者多个目录
3. git暂存区
- 工作区
- git对象库
4.git本地分支与合并
- git btanch 创建分支
- git tag 做标记
- git chechout 切换分支
- git stash
- git merge 合并分支
5. git---关注修改
5.1 撤销修改
- 这个文档在工作区被修改后还没
git add .
第一步:撤销工作区的修改
git checkout -- file_name
- 这个文档在工作区被修改后
git add .
到了暂存区
第一步:撤销缓存区的修改
git reset HEAD file_name
第二步:撤销工作区的修改
git checkout -- file_name
- 这个文档被
commit file_name -m "注释"
撤销本次提交,回退本节
5.2 管理修改
- 第一次
vim a.txt
- 添加到暂存区
git add a.txt
后第二次vim a.txt
- 然后
git commit -m "注释"
-
git status
止呕会发现第二次的vim a.txt
更改没有修改成功
第一次修改->
git add
->第二次修改->git commit
你看,我们前面讲了,Git管理的是修改,当你用
git add
命令后,在工作区的第一次修改被放入暂存区,准备提交,但是,在工作区的第二次修改并没有放入暂存区,所以,git commit
只负责把暂存区的修改提交了,也就是第一次的修改被提交了,第二次的修改不会被提交。
5.3 工作区和暂存区
- 工作区
- 电脑山能看到的目录
- 版本库
- 工作区有一个
.git
的文件 -
git add
将文件添加到暂存区 -
git commit
a将暂存区内容提交到当前分区
- 工作区有一个
5.4 版本回退
git reset -- hard HEAD^
git reglog
git reset -- hard 版本号
6. GitHub
- ssh连接GitHub
cd ~/.ssh
ls
如果有三个文件,那个id_ras.pub就是公钥
生成秘钥:ssh-keygen -t rsa
验证是否授权成功: ssh -T git@github.com
-
GitHub基本使用
star 收藏
fork “复制”
repository 仓库
watch 观察
Gist 代码片段
Pull Request 请求合并
Issue 提问题/bug
clone 克隆
git config 配置信息
git push 将本地代码推送到github上去
git pull 将远程的代码更新下来
git branch 分支
git merge 合并
关联仓库
git remote add origin git@github.com~~
将本地代码推送到GitHub上
git push origin master
请求合并
git pull origin master
将其他分支推送到GitHub
git push origin 其它分支的名字
将其它分支合并在本分支
git merge 其它分支的名字
Pull Request 添加新功能给原作者(folk之后)
fatal: remote origin already exists
git remote rm origin
1. git config -global user.email "xxx@xx.com"
2. git config -global user.name "xxx"
1. git init 激活git管理
2. git add 加入缓存区
3. git commit -m "msg" 提交到版本库
4. git status 查看状态
5. git diff 查看文件修改了什么内容
6. git log 查看提交日志
7. git log --pretty=oneline 将日志显示在一行
8. git reset --hard HEAD^ 向前退一版本
9, git reset --hard xxxxx 回退到指定版本
10. git reflog 显示每一次命令
11. git checkout -- fileName 撤销本地对文件的修改,回退到commit或者add后的状态
12. git reset HEAD 'filename' 将文件filename的暂存区修改放弃