一.Git工作流程简介
工作区(Workspace) --> 暂存区(Index/Stage) --> 本地版本库(Repository) --> 远程仓库 (Remote)
1).通过命令【git status】查看文件状态(新增、修改、删除、是否提交至暂存区)。
2).在提交文件至暂存区之前,如果使用命令【git checkout -- <file>】,则会撤销该文件修改,该文件回到修改之前状态。
3).使用命令【git add <file>】或【git add -A】将指定文件或所有文件提交至暂存区(stage(index))。
4).将暂存区中的文件提交至版本库(本地分支)前,如果使用命令【git reset HEAD <file>】,则会将该文件从暂存区中清除,该文件回到git add之前的状态,也即该文件处于待提交状态,工作区修改还在。
5).使用命令【git commit -m "提交说明(注释)"】将暂存区中所有文件提交至本地版本库。
6).本地版本库可以回退:
(1).使用命令【git log】查看本地版本库历史记录
(2).使用命令【git reset --hard <commit_id>】回退到指定版本
(3).若想再回到未来版本,使用【git reflog】查看命令历史,再使用(2)命令回到将来
7).最后,使用命令【git push origin master】将本地分支修改内容推送至远程master分支上。
二.Git常用命令
1.本地仓库创建
git init ---> 将当前目录初始化为Git仓库
什么是【版本库】呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。
如何创建版本库?
1).在没有中文路径的地方,创建一个空目录;
2).通过【git init】命令把这个目录变成Git可以管理的仓库
2.查看git配置
1).git config --list ---> 查看Git配置信息
2).git --version --->查看Git版本号
3.文件提交命令
1).git add
(1).git add <file-name> --->添加一个文件至暂存区
(2).git add <file-name1> <file-name2> ...... --->添加多个文件至暂存区(多个文件用空格隔开)
(3).关于命令git add -A、git add .、git add -u
2).git commit
(1).git commit -m "提交说明(注释)" --->将暂存区中所有文件提交至本地库
(2).git commit -am "提交说明(注释)" --->跳过暂存区,直接将工作区修改文件提交至本地版本库。但 是,无法提交新增文件。
(3).git commit <file1> <file2> ... -m "提交说明(注释)" --->提交暂存区中指定文件到本地库
4.分支管理
1).git branch --->查看本地所有分支
2).git branch -r --->查看远程所有分支
3).git branch -a --->查看本地和远程所有分支
4).git branch <branch-name> --->在当前分支创建另一个分支branch-name
5).git checkout <branch-name> --->切换到指定分支
6).git checkout -b <branch-name> --->新建分支,并切换到该分支上
7).git checkout - --->快捷切换到上一分支
8).git merge <branch-name> --->合并指定分支到当前分支
9).git branch -d <branch-name> --->在当前分支上删除指定分支(当前分支不能删除自己本身)
5.信息查看
1).git log --->查看提交历史
(1).git log -n --->查看最近n条提交历史
(2).git log -p -2 --->其中-p 选项显示每次提交的内容差异;-2 则仅显示最近的两次更新
(3).git log --oneline --->查看提交历史的简洁版本
(4).git log --oneline --graph --->使用--graph选项,查看历史中什么时候出现了分支、合并
(5).git log --reverse --oneline --->逆向显示所有日志
2).git status --->查看文件状态(新增、修改、删除)
3).git diff <file> --->查看文件修改
4).git help --->命令帮助
6.撤销和回退
1).git checkout -- <file> --->撤销工作区该文件修改
2).git reset HEAD <file> --->将暂存区中的该文件清除,该文件回到git add提交状态
3).git reset --hard <commit-id> --->本地版本库版本回退,相应的改变工作区
7.远程同步
1).git push <remote-name> <branch-name> --->本地库推送至远程仓库
2).git pull <remote-name> <branch-name> --->取回远程仓库的变化,并与本地分支合并
三.Git两个使用技巧
1).自动完成
在输入命令的首字母后若忘记单词全名是什么,可以按两次Tab键
2).Git 命令别名
我们可以使用【git config】为命令设置别名,以此达到简化命令的目的
语法:git config --global alias.自定义别名 替换的命令
例如:git config --global alias.s status