git 版本管理 ¶
配置 git 用户和邮箱 ¶
$ git config --global user.name "你的github用户名" $ git config --global user.email "你的github邮箱" # 不配置用户名和邮箱的话无法提交,因为git不知道你是谁
复制成功
1
2
3
2
3
查看配置 ¶
$ git config --global user.name $ git config --global user.email
复制成功
1
2
2
查看所有配置 ¶
$ git config --list
复制成功
1
工作流 ¶
工作区 ¶
通过 git add 添加到暂存区
$ git add '文件名'
复制成功
1
暂存区 ¶
特点:过渡的作用,避免误操作,保护工作区和历史区,分支处理;
通过 git commit 添加到历史区
$ git commit -m"注释内容"
复制成功
1
历史区 ¶
查看历史状态
$ git log
复制成功
1
修改时通过 git status 查看当前状态
7.git diff
复制成功
1
不同区的代码比较
工作区和暂存区 ¶
$ git diff
复制成功
1
暂存区和历史区 ¶
$ git diff --cached(--staged)
复制成功
1
工作区和版本库 ¶
$ git diff master
复制成功
1
撤销 ¶
撤销回 git add 的内容
git reset Head "文件名"
复制成功
1
撤回文件 ¶
先从缓存区撤销,缓存区无内容,从历史区域撤销
$ git checkout "文件名" #有的时候我们希望提交时合并到上一次的提交 git commit --amend
复制成功
1
2
2
删除 ¶
删除暂存区和工作区
删除暂存区中的内容,并且保证工作区中的内容已经不存在
$ git rm "文件名"
复制成功
1
若本地文件存在则不能删除,需要通过-f 参数删除
仅删除缓存区 ¶
$ git rm --cached "文件名"
复制成功
1
恢复 ¶
恢复某个版本文件
$ git checkout commit_id filename 某个文件
复制成功
1
通过版本 id 恢复
$ git reset --hard commit_id
复制成功
1
恢复未来
查看当时回滚时的版本
$ git reflog
复制成功
1
快速版本回退
$ git reset --hard HEAD^ $ git reset --hard HEAD~3
复制成功
1
2
2
同步远程仓库 gitHub ¶
注册账号
新建项目
添加远程仓库
$ git remote add origin "地址"
复制成功
1
添加忽略文件 ¶
$ touch .gitignore $ echo .DS_Store $ echo node_modules $ echo .idea
复制成功
1
2
3
4
2
3
4
推送代码 ¶
$ git push origin master
复制成功
1
查看
$ git remote 查看名字 $ git remote -v 查看地址
复制成功
1
2
2
代码的合并 ¶
$ git fetch
复制成功
1
拉取过来手动合并
$ git diff master origin/master $ git merge origin/master
复制成功
1
2
2
拉取并合并
git pull
复制成功
1
分支 ¶
git branch git branch 创建分支 git checkout a git checkout -b c切换分支 #在master git merge git checkout b git branch --merged 合并了哪些分支 git branch --no-merged 合并了哪些分支 git branch -d a 删除分支 git branch -D a 删除分支
复制成功
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
- tag 版本
git tag v1.0
复制成功
1
Git 无法检测到文件名大小写的更改 ¶
git config core.ignorecase false # 关闭git忽略大小写配置,即可检测到大小写名称更改。
复制成功
1
2
2