WorkSpace
: 工作区Index
/ Stage
: 暂存区Repository
: 仓库区 (或本地仓库)Remote
: 远程仓库1.配置git信息
git config --list # 查看git所有配置信息
git config -e # 编辑config文件
git clone [url] # 将url仓库代码全部拉取下来
2.增加删除文件
usage: git add [<options>] [--] <pathspec>...
git add [file1] [file2] ... # 添加指定文件到暂存区
git add [dir] ... # 添加注定目录到暂存区,包括子目录
git add . # 添加当前目录所有文件到暂存区
git rm [file1] [file2]... #删除工作区文件,并且将这次删除放入暂存区
3.代码提交
git commit -m [message] # 提交暂存区到代码区,附带提交说明message
git commit --amend -m [message] # 本次commit替代上一次提交
git commit --amend [file1] [file2] ... # 更新上一次commit指定文件
4.分支管理
git branch # 列出本地所有的分支
git branch -r # 列出远端的所有分支
git branch -a # 列出本地和远端的所有分支
git branch -d [name] # 删除name分支
git branch [name] # 新建一个名称为name的分支,但以就保留当前分支
git checkout [branch] # 切换分支
git checkout -b [branch] # 新建分支并切到这个分支
5.查看信息
git status # 显示所有变更的文件
git log # 显示当前分支的版本历史
git diff # 显示暂存区和工作区的差异
git diff HEAD # 显示工作区与当前分支最新commit之间的差异
6.rebase
usage: git rebase [-i] [options] [--exec <cmd>] [--onto <newbase> | --keep-base] [<upstream> [<branch>]]
or: git rebase [-i] [options] [--exec <cmd>] [--onto <newbase>] --root [<branch>]
or: git rebase --continue | --abort | --skip | --edit-todo
rebase若有冲突记得要手动解决冲突,然后使用git rebase —continue继续rebase操作
7.其他
git fetch [remote] # 下载远程仓库的所有变动
git remove -v # 显示所有远程仓库
8.拉取远程分支覆盖本地分支
git fetch --all # 将远程主机最新内容拉到本地
git reset --hard <remote>/<branch> # 将本地的状态回退到和远程的一样
git pull <remote> <branch> # 远程获取代码并合并本地的版本
9.git reset参数含义图解
git reset 命令用于回退版本,可以指定退回某一次提交的版本。
git reset 命令语法格式如下:
git reset [--soft | --mixed | --hard] [HEAD]
**--mixed** 为默认,可以不用带该参数,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。
git reset [HEAD]
$ git reset HEAD^ # 回退所有内容到上一个版本
$ git reset HEAD^ hello.php # 回退 hello.php 文件的版本到上一个版本
$ git reset 052e # 回退到指定版本
**--soft** 参数用于**回退到某个版本**:
git reset --soft HEAD
$ git reset --soft HEAD~3 # 回退上上上一个版本
**--hard** 参数**撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交**:
git reset --hard HEAD
$ git reset –hard HEAD~3 # 回退上上上一个版本
$ git reset –hard bae128 # 回退到某个版本回退点之前的所有信息。
$ git reset --hard origin/master # 将本地的状态回退到和远程的一样
10.git push免密
(1) 查看通信方式
git remote -v
(2) 如果是https,则说明是https通信,每次都需要输入账号密码
(3) 删除原有origin通信方式
git remote rm origin
(4) 重新add,通过ssh绑定远端仓库
git remote add origin git@...