Git介绍与常用命令的使用
目录:
 一、Git简介
 二、Git简单命令行入门
 三、Git常用命令
 四、常见问题补充
一、Git简介
Git基本概念
| 分类 | 介绍 | 
|---|---|
| 工作区 | 仓库的目录。工作区是独立于各个分支的。 | 
| 暂存区 | 数据暂时存放的区域,类似于工作区写入版本库前的缓存区。暂存区是独立于各个分支的。 | 
| 版本库 | 存放所有已经提交到本地仓库的代码版本 | 
| 版本结构 | 树结构,树中每个节点代表一个代码版本。 | 
二、Git简单命令行入门
一键将本地文件推送到远程,使用命令+介绍
命令初始化一个新的 Git 仓库
git init
通过 git remote add 命令将远程仓库连接到您的本地仓库。
git remote add origin <远程仓库URL>
使用 git pull 命令拉取远程更新。
git pull origin master
将所有待加入暂存区的文件加入暂存区
git add .
“xxx给自己看的备注信息”:将暂存区的内容提交到当前分支
git commit -m "xxx"
推送到远程仓库(第一次提交加-u,标志用于与远程分支建立关联)
git push -u origin master
推送到远程仓库
git push
三、Git常用命令
| 编号 | 命令 | 解释 | 
|---|---|---|
| 1 | git config --global user.name xxx | 设置全局用户名,信息记录在~/.gitconfig文件中 | 
| 2 | git config --global user.email xxx@xxx.com | 设置全局邮箱地址,信息记录在~/.gitconfig文件中 | 
| 3 | git init | 将当前目录配置成git仓库,信息记录在隐藏的.git文件夹中 | 
| 4 | git add XX | 将XX文件添加到暂存区 | 
| 5 | git add . | 将所有待加入暂存区的文件加入暂存区 | 
| 6 | git rm --cached XX | 将文件从仓库索引目录中删掉 | 
| 7 | git commit -m “给自己看的备注信息” | 将暂存区的内容提交到当前分支 | 
| 8 | git status | 查看仓库状态 | 
| 9 | git diff XX | 查看XX文件相对于暂存区修改了哪些内容 | 
| 10 | git log | 查看当前分支的所有版本 | 
| 11 | git reflog | 查看HEAD指针的移动历史(包括被回滚的版本) | 
| 12 | git reset --hard HEAD^ 或 git reset --hard HEAD~ | 将代码库回滚到上一个版本 | 
| 13 | git reset --hard HEAD^^ | 往上回滚两次,以此类推 | 
| 14 | git reset --hard HEAD~100 | 往上回滚100个版本 | 
| 15 | git reset --hard 版本号 | 回滚到某一特定版本 | 
| 16 | git checkout — XX或git restore XX | 将XX文件尚未加入暂存区的修改全部撤销 | 
| 17 | git remote add origin <远程Git仓库地址> | 将本地仓库关联到远程仓库 | 
| 18 | git push -u (第一次需要-u,以后不需要) | 将当前分支推送到远程仓库 | 
| 19 | git push origin branch_name | 将本地的某个分支推送到远程仓库 | 
| 20 | git clone <远程Git仓库地址> | 将远程仓库XXX下载到当前目录下 | 
| 21 | git checkout -b branch_name | 创建并切换到branch_name这个分支 | 
| 22 | git branch | 查看所有分支和当前所处分支 | 
| 23 | git checkout branch_name | 切换到branch_name这个分支 | 
| 24 | git merge branch_name | 将分支branch_name合并到当前分支上 | 
| 25 | git branch -d branch_name | 删除本地仓库的branch_name分支 | 
| 26 | git branch branch_name | 创建新分支 | 
| 27 | git push --set-upstream origin branch_name | 设置本地的branch_name分支对应远程仓库的branch_name分支 | 
| 28 | git push -d origin branch_name | 删除远程仓库的branch_name分支 | 
| 29 | git pull | 将远程仓库的当前分支与本地仓库的当前分支合并 | 
| 30 | git pull origin branch_name | 将远程仓库的branch_name分支与本地仓库的当前分支合并 | 
| 31 | git branch --set-upstream-to=origin/branch_name1 branch_name2 | 将远程的branch_name1分支与本地的branch_name2分支对应 | 
| 32 | git checkout -t origin/branch_name | 将远程的branch_name分支拉取到本地 | 
| 33 | git stash | 将工作区和暂存区中尚未提交的修改存入栈中 | 
| 34 | git stash apply | 将栈顶存储的修改恢复到当前分支,但不删除栈顶元素 | 
| 35 | git stash drop | 删除栈顶存储的修改 | 
| 36 | git stash pop | 将栈顶存储的修改恢复到当前分支,同时删除栈顶元素 | 
| 37 | git stash list | 查看栈中所有元素 | 
四、常见问题补充
1、缺乏Git练习?
来玩Git小游戏 Learn Git Branching
2、Git 与 SVN 共同点与区别?
3、官方等相关链接?
Git下载:https://git-scm.com/download
 SVN 官网:https://subversion.apache.org
 Github SVN 源码:https://github.com/apache/subversion









