目录
17.如何让暂存区恢复成HEAD一样(即把暂存区的内容不要)
19.怎么取消暂存区部分文件的更改(暂存区更改了很多,但是此时想恢复一部分文件和HEAD里一样)
22.正确删除文件的方法(删除了工作区和暂存区,如果要删除HEAD,就把这次提交到HEAD)
24.如何指定不需要git管理的文件(有些文件是由于要进行版本控制而产生的文件,通常这些文件是不会纳入代码的版本控制里面的)
第一种远端和本地分支关联的方法:git checkout -b 本地分支名
git checkout -b 本地分支名 远端分支名(第二种方法比较方便)
1.下载git
2.git的最小配置
打开git bash:
输入:git config --global user.name "your_name"
git config --global user.email "your_email"
以上配置的作用域是全局的,即你所有的仓库都是这个配置。
git config --local user.name "your_name"
git config --local user.email "your_email"
以上配置的作用域是本地当前的库的,即你这个仓库是这个配置。
优先级:local>global
3.建git 仓库
两种场景:
1)把已有的项目代码纳入git管理
cd 项目代码所在文件夹
git init
2)新建的项目直接用git管理
cd 某个文件夹
git init your_project #会在当前路径下创建和项目名称同名的文件夹
cd your_priject
4.git 暂存区和工作区
5.给文件重命名
git mv oldname newname
6.通过git log查看版本演变历史
git log #可以查看(当前分支)所有提交记录
git log --oneline #可以看所有提交信息记录
git log -n3 #n3 最近的前三个,也可以加上--online,效果如下:
git log --all #查看所有分支的提交历史记录
git log --all --graph #图形化显示
7.图形化界面($gitk)
显示所有分支的内容:菜单栏=》View=》new View =》勾选All refs
8.commit 、tree、blob三个对象之间的关系
9.分离头指针(Head指向一个commit)
git checkout 哈希值(commit的哈希值)
在这之后的操作,如果操作完成后,切换分支,操作会被清除掉
除非你在切换分支的时候,按照git的警告提示,为此创建一个分支(和某个分支绑在一起),这些操作才得以保留。
10.删除分支
保险起见:
git branch -d 分支名
确保不要,风险可控
git branch -D 分支名
11.怎么修改最新的commit message
git commit --amend
12.怎么修改老旧的commit message
git rebase -i 父亲的哈希值
然后会跳到第二个vim里:
13.怎么样把多个连续的commit整理成一个
git rebase -i 父亲的哈希值
输入命令后跳到vi
然后在命令模式下输入:wq(保存并退出),退出后会进入另一个vi,编写你要的message,然后退出:
14.怎么样把多个不连续的commit整理成一个
git rebase -i 父亲哈希值
退出后会出现:
输入git status,并按照提示输入:git rebase --continue
:
修改后成功。
15.怎么比较暂存区和head所含文件的区别
git diff --cached
16.怎么比较暂存区和工作区的区别
git diff
如果要区别单独(或多个)的文件差异:
git diff -- sty.css df.html