git 版本管理

下载地址

配置 git 用户和邮箱

$ git config --global user.name "你的github用户名"
$ git config --global user.email "你的github邮箱"
# 不配置用户名和邮箱的话无法提交,因为git不知道你是谁
1
2
3

查看配置

$ git config --global user.name
$ git config --global user.email
1
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

删除

删除暂存区和工作区 删除暂存区中的内容,并且保证工作区中的内容已经不存在

$ 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

同步远程仓库 gitHub

注册账号 新建项目

添加远程仓库

$ git remote add origin "地址"
1

添加忽略文件

$ touch .gitignore
$ echo .DS_Store
$ echo node_modules
$ echo .idea
1
2
3
4

推送代码

$ git push origin master
1

查看

$ git remote 查看名字
$ git remote -v 查看地址
1
2

代码的合并

$ git fetch
1

拉取过来手动合并

$ git diff master origin/master
$ git merge origin/master
1
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
  1. tag 版本
git tag v1.0
1

Git 无法检测到文件名大小写的更改

git config core.ignorecase false
# 关闭git忽略大小写配置,即可检测到大小写名称更改。
1
2

sourcetreeapp

下载