GIT
svn : 只记录不同部分
git :全部记录 直接覆盖
Git三个区:工作区,暂存区,git仓库
工作区:处理工作的区域;
暂存区:已经完成的工作的临时存放区等待被提交;
Git仓库:最终存放区。
Git中已经被管理的文件的三个状态:
已修改modified :修改了但是没放到暂存区;
已暂存staged:对当前版本已经做了标记,使之包含在下次提交的列表中;
已提交committed:表示文件已经存放在本地git仓库中。
Git工作流程:
1 工作区中修改,修改后暂存。
2 暂存区提交
3 提交到仓库
初始化
安装git只用下一步就行了。
安装完毕 第一件事情是要配置自己的用户名和邮箱地址
–global 全局生效,设置一次即可。
设置用户名 git config --global user.name “XXX”
设置邮箱 git config --global user.email “XXX”
查询所有全局配置 git config --list --global
查看指定全局配置 git config user.name
创建Git仓库的两种方式
1 将尚未进行版本控制的本地目录转换为git仓库
转化为git仓库:在项目目录中,通过鼠标邮件打开git bansh,并执行git init命令即可.git init命令会自动创建一个.git 文件夹,此目录就是当前项目的git仓库包含了初始化的必要文件,这些文件就是git仓库的必要组成部分。
2 从其他服务器克隆一个已存在的git仓库
工作区中文件的四种状态
未被git管理:
1 未追踪;
已被git管理:
2 未修改,
3 已修改,
4 已暂存。
查看文件状态
git status:查询git状态
git status -s:以精简方式显示文件状态, -s是 --short的缩写
执行命令后显示的结果:
1 两个红色问号 ?? 表示未追踪。
添加追踪文件:git add + 文件名 如:git add index.html
2 绿色A,表示新添加在暂存区中的文件。
使用git commit 来提交到git仓库,-m表示添加附加消息。
git commit -m “新建了文件”
3 红色M,表示被修改,但是没有放入暂存区。
使用git add命令可把新文件放入暂存区
4 绿色M,表示已修改且已放入暂存区。
5 绿色D,表示下次提交commit会从仓库中删除对应文件。
Git指令
1 git add:命令有三个功效:1 开始跟踪新文件,2 把已跟踪且已修改的文件放入暂存区,3 把有冲突的文件标记为已解决状态
2 git commit:提交已暂存文件,git commit -m “提交消息”,即可将暂存区中文件提交到git仓库中。
3 git checkout :撤销对文件修改,git checkout --index.html 将git仓库中的文件覆盖本地文件。
4 git add . :git add + . 向暂存区中一次性添加所有新增和修改过的文件。
5 git reset HEAD :移除暂存区中的文件:git reset HEAD + 要移除的文件名。移除之后标记会变成红色M。一次性移除暂存区中所有的文件为 git reset HEAD . 。
6 git commit -a:跳过使用暂存区,git会自动把所有《已经跟踪过的文件》暂存起来一并提交。Git标准工作流程为工作区->暂存区->仓库。使用此命令后直接从工作区到仓库。
7 git rm -f :从git仓库和工作区(即本地磁盘)同时移除 git rm -f + 文件名
8 git rm --cached:从git仓库移除,本地工作区保留 git rm --cached + 文件名
忽略文件
忽略文件:创建.gitignore 配置文件,列出要忽略文件的匹配模式
# 表示注释 \写在内容前面表示不递归,即不向下级目录继续寻找。\写在后面表示文件夹 比如css\
其他内容查看git 忽略文件语法
查看提交历史
git log :按照时间先后顺序查看提交历史 最近的在最上面
git log -2 :查看最近两条 可以自定义
git log -2 --pretty=oneline :一行上展示
git log -2 --pretty=format:"%h|%an|%ar|%s": 一行上展示最近两条信息并自定义输出格式,%h提交的哈希值简写,%an 作者名称 %ar作者修订日期 %s 提交说明
回退指定版本
1 查询提交历史 git log --pretty=oneline
2 按照指定的ID 来回退到指定版本 git reset --hard <CommitID>
如果已经切换为旧版,此时不显示全部提交记录。如果要查看,使用git reflog --pretty=oneline 命令查看。
GITHUB
1 注册账号
2 新建远程空白账户
3 两种方法访问仓库
两种方法访问仓库
1 通过网页https 2 ssh
1通过网页
git remote add origin https://github.com/username/ XXX.git 管理远程仓库 并命名为xxxx
git push -u origin master 将本地仓库中的文件推送上去
以后再推送就只用push
2 通过SSH
好处1不用登陆 2 加密传输
SSH Key 两部分组成 :1 id_rsa 私钥 放在用户端电脑 2 id_rsa.pub 公钥 需要配置到github
配置步骤:
2.1 打开Git Bash
2.2 粘贴命令:ssh-keygen -t rsa -b 4096 -C "yourgithubregemail"
2.3 连续三次回车,再对应user\用户名.ssh目录下就会生成id_rsa
2.4 在自己的github setting 中 配置ssh
2.5 检测,在git bash中输入ssh -T git@github.com,看到警告信息输入yes 成功会告知成功授权。
本地仓库名字和github仓库名字不一定要保持一致。
关联后推送。网页有提示。
将远程仓库克隆到本地
git clone 点击网页上的git clone 复制地址后 在本地git bash中输入 git clone + 地址
分支
开发一部份不允许在master主分支上修改代码,master用来保存和记录整个项目已经完成的功能代码。
git branch :查看分支列表。*表示当前所处分支。
git branch + 分支名字 :创建新分支
git checkout :1 切换分支,后面加要切换到的分支的名字。2 下载远程分支,后面加要下载的远程分支名。
git checkout -b :1 创建新分支并切换到此分支,git chekcout -b login。
git merge:后面加分支名,表示合并此分支到主分支,执行前要先切换到合并到的主分支上。
git branch -d :删除指定分支。在主分支上执行。
git push -u 远程仓库别名 本地分支名:远程分支名 :将本地分支推送到远程仓库,git push -u origin payment:pay。如果希望本地分支与远程分支名称一致,可简写为:git push -u origin paymen。
git remote show :查看远程仓库所有分支。
git checkout -b 本地分支名 远程仓库名/远程分支名:下载远程仓库中的指定分支,并在本地重命名,git checkout -b payment origin/pay
git pull :拉取远程分支最新的代码
git push 远程仓库名 --delete 远程分支名:删除远程分支