学习视频传送门html
基本概念图解传送门java
使用git进行版本管理图解传送门git
1.git命令行工具或者图形化工具github
2.github帐号缓存
1.git config --global user.name 查看用户名网络
2.git config --global user.email 查看用户emailide
3.git config --global color.ui true 默认的命令行颜色颜色配置工具
4.1.进入已经完成的项目文件夹。学习
4.2.git init [项目仓库名] 创建本地git仓库。fetch
4.3.git status 显示一些能够提交的文件名,以及它们的状态。
4.4.git add [文件名],[文件名]... 将文件放到暂存区。用户随意处理暂存区,最后统一上传。
4.5.git commit -m "上传的信息" 上传,并说明上传内容。
5.1.git diff 查看已经修改完的代码与暂存区里的文件相比,哪行有变更。红色-表示改变前,绿色+表示改变后。
5.2.git diff --staged 查看已经修改完并add的代码和已经commit的代码比,有哪些改动。
5.3.git diff HEAD 若暂存区文件已修改未提交,源文件也修改了,使用这个命令查看最后一次修改和最后一次提交的改动部分,中间的改动忽略。
5.5.git diff --color-words/--word-diff 上面的改动都是以行为单位,此次以单词为单位,color-words表示用颜色表示改动,word-diff表示用单词表示改动。
5.6 git diff --stat 查看哪些文件有修改,不会查看修改的具体细节。
6.1.git log 提交commit的历史,上面的是最新提交,下面的是最先提交。
第一行是提交者的用户名和email地址。
第二行是提交日期
第三方是提交的具体内容。
6.2.git log --oneline 提交的简要说明,由用户本身写的。
6.3.git log --stat 文件级别的变更日志。
6.4.git log --patch 代码级别的变更日志。
6.5.git log --patch --oneline 组合命令查看日志。
6.6.git log --graph/--ascii 查看提交的结构或二进制
6.7.git log --all -- graph --decorate --oneline 建议的查看方式
6.8.git reflog 记录commit前进后退30天的记录,之后能够进行回退,使用每行的哈希码回退
理解删除文件操做之间,因理解操做的逻辑。
7.1.若删除工做区文件,且版本库repository不存在该文件,直接rm就行。
7.1.1.rm 文件名 删除工做区
7.2.若删除工做区文件,且版本库中存在该文件,这要分状况。
· 方法一:rm + git rm
7.2.1.rm 文件名 删除工做区文件
7.2.2.git rm 文件名 定义一个删除操做,准备提交给版本库
7.2.3.git commit -m "delete file" 将全部操做提交给版本库,这是版本库中的该文件已经被删除
方法二:git rm
7.2.4.git rm 文件名 删除工做区的文件,并定义删除操做
7.2.5.git commit -m "delete file" 将全部操做提交给版本库,这是版本库中的该文件已经被删除
7.3.git rm --cached 文件名 定义删除版本库中的文件的操做,可是保存工做区中的文件
8.1.git move old_path new_path 移动/重命名
8.2.git add -A . 将该目录下的全部的修改,移动,建立操做提交到暂存区
8.3.git add . 接近于git add -A . 可是不提交已经删除的文件
8.4.git add -u . 将该目录下的全部已修改的文件放到暂存区,仅监控已经存在于暂存区的文件
8.5.若修改文件后移动,git把它当作文件移动
8.6.git log --stat -M --follow -- 文件名 文件移动日志
8.7.git commit后的百分数是指提交先后版本库中文件的类似度。删除先后文件的默认阈值是50%,低于50%?则不一样文件有可能被定义为同种文件
如何判断修改先后的文件是否是同一个文件?
1.CVS认为文件一旦移动,原文件就被破坏,没法追踪它了
2.无论怎么修改移动,都是同一个文件
3.Git能够改变类似度观点,在 git log -M中修改,具体再做了解
9.1.创建.gitignore文件 文件里面存储忽略的文件名,表示该文件不参与暂存区和版本库中
9.2.在.gitignore文件中,写文件名,进行忽略。
技巧:
1.若忽略.java结尾的全部文件,文件名写成*.java
2.若某个文件不能忽略,文件名写成 !文件名
3.若要描述或者评论某忽略的文件,须要在评论前叫上#
9.3.git ls-files --other --ignored --exclude-standard 查看已经忽略的全部文件
9.4.注意,忽略的文件必须不包含在暂存区或者版本库中
分支的基本概念传送门
10.1.git branch 新分支名 建立一个新分支,之后能够进行切换
10.2.git branch -d 分支名 删除一个分支,必须切换到其它分支上,才能删除该分支
10.3.git checkout 分支名 切换一个分支,若覆盖文件,必须提交才能切换。
10.4.git branch 查看当前处于的分支位置,默认为绿色
10.5.git status 也能够查看正在运行的分支
10.6.git checkout -- 文件名 恢复文件原来的状态,工做区文件也生效
10.7.git checkout -b 分支名 建立分支并切换到该分支
把多个分支合并起来
11.1.git checkout master 进入master分支
11.2.git branch 查看全部分支
11.3.git merge 分支名 将一个分支合并到master分支中,master分支中包含了该分支的文件,修改和历史,若两个分支不少文件相似,那就本身打开文件进行修改便可。
11.4.git merge --abort 返回合并前的状态
11.5.git merge --squash 减小合并时的commit记录数
11.6.git rebase 分支名 把归并的分支的commit落到分支的最新位置,工做流是一条直线,方便查看
必须在一个已经创建的本地库上操做。
12.1.git remote add origin url地址 添加远程仓库名和地址
12.2.git remote set-url origin url地址 修改远程仓库名对应的地址
12.3.git remote rm url 删除远程仓库名
12.4.git remote -v 查看远程地址和名字
12.5.git fetch origin 下载信息,并追踪
12.6.git branch -r 查看远程url的分支
12.7.git pull origin 下载信息到本地并合并
12.8.git push origin 上传信息到远程并合并
13.1.git reset --soft HEAD~n 回退n次提交
13.2.git reset --mixed HEAD~n 回退n次提交
13.3.git reset --hard HEAD~n 回退n次提交
简单总结一下,其实就是--soft 、--mixed以及--hard是三个恢复等级。使用--soft就仅仅将头指针恢复,已经add的缓存以及工做空间的全部东西都不变。若是使用--mixed,就将头恢复掉,已经add的缓存也会丢失掉,工做空间的代码什么的是不变的。若是使用--hard,那么一切就全都恢复了,头变,aad的缓存消失,代码什么的也恢复到之前状态。
完
注:视频中4集github部分未作笔记。