GIt常用操作基础
目录
1、常用命令
命令 | 作用 |
---|---|
git init | 初始化本地库 |
git status | 查看本地库状态 |
git add 文件名 | 添加文件到暂存区 |
git commit -m "提交描述" 文件名 | 提交文件到本地库 |
git reflog | 查看历史记录 |
git reset --hard 版本号 | 切换版本 |
git remote add 别名 克隆地址 | 关联远程仓库地址(为远程仓库地址起别名) |
git remote -v | 查看当前所有远程仓库地址别名 |
git pull 远程仓库别名 远程分支名 | 将远程仓库对于分支最新内容拉取下来后与当前本地分支直接合并 |
git push 别名 分支 | 推送本地分支上的内容到远程仓库 |
git branch -v | 查看当前所有本地分支 |
git checkout 分支名 | 切换/检出分支 |
2、Git常用命令流程图
3、Git配置
(1)配置全局用户签名
git config --global user.name 你的用户名
git config --global user.email 你的邮箱
注意:这里设置的用户名和邮箱与你的托管平台的账号无任何关系。
(2)查看全局配置信息
git config --gloabl --list
4、新项目推送流程(本地仓库—>远程仓库)
步骤:
- 创建目录,初始化建立本地仓库
git init
- 完成代码编写,提交暂存区
- 单个文件
git add 文件名
- 多个文件
git add *
- 单个文件
- 提交代码到本地仓库
git commit -m "提交描述"
- 关联远程仓库
git remote add 别名 远程仓库地址
- 同步远程仓库的
READEME.md
文件到本地仓库
git pull -rebase 远程仓库别名 远程仓库分支名
- 推送代码到远程仓库
git push -u 远程仓库别名 远程仓库分支名
5、新项目克隆推送流程(远程仓库—>本地仓库)
步骤:
- 克隆项目到本地
git clone 远程仓库地址
- 查看工作区和暂存区的状态
git status
- 修改项目,提交暂存区
git add 文件名
- 提交修改到本地仓库
git commit -m "提交描述"
- 推送到远程仓库
git push
6、本地仓库常用操作
6.1、暂存区操作
(1)提交暂存区
- 单个文件
git add 文件名
- 所有文件
git add *
(2)删除暂存区文件
git rm --cache 文件名
(3)删除工作区和暂存区文件
git rm 文件名
6.2、提交本地库
(1)提交本地库
- 提交单个文件
git commit -m 描述 文件名
- 提交所有文件
git commit -m 描述
6.3、git diff查看不同
(1)查看工作区与暂存区不同
git diff 文件名
(2)查看暂存区与版本库不同
git diff HEAD 文件名
6.4、历史版本操作
(1)历史版本查看
-
git reflog
查看版本
-
git log
查看版本详细信息
(2)版本穿梭
Git 切换版本,底层其实是移动的 HEAD 指针
步骤:
- 查看历史版本
git reflog
- 切换版本
git reset --hard 版本号
切换到上一版本
git reset --hard HEAD^
切换到上n个版本
git reset --hard HEAD~n
切换到远端分支最新版本
git fetch --all
git reset --hard 远程仓库别名/远程分支名
示例:
# 查看历史版本,当前在c0e6b90版本
qishuai@qishuaideMacBook-Pro GitDemo % git reflog
c0e6b90 (HEAD -> master) HEAD@{0}: reset: moving to c0e6b90
66e41ce HEAD@{1}: reset: moving to 66e41ce
c0e6b90 (HEAD -> master) HEAD@{2}: commit: third commit
c360afa HEAD@{3}: commit: second commit
66e41ce HEAD@{4}: commit (initial): first commit
# 查看文件内容
qishuai@qishuaideMacBook-Pro GitDemo % cat 1.txt
version = 1.1
# 切换版本
qishuai@qishuaideMacBook-Pro GitDemo % git reset --hard c360afa
HEAD is now at c360afa second commit
# 查看历史版本,当前在c360afa版本
qishuai@qishuaideMacBook-Pro GitDemo % git reflog
c360afa (HEAD -> master) HEAD@{0}: reset: moving to c360afa
c0e6b90 HEAD@{1}: reset: moving to c0e6b90
66e41ce HEAD@{2}: reset: moving to 66e41ce
c0e6b90 HEAD@{3}: commit: third commit
c360afa (HEAD -> master) HEAD@{4}: commit: second commit
66e41ce HEAD@{5}: commit (initial): first commit
# 查看文件内容
qishuai@qishuaideMacBook-Pro GitDemo % cat 1.txt
version = 1.0
6.5、本地仓库常用分支操作
操作 | 命令 | 描述 |
---|---|---|
创建分支 | git branch 分支名 git branch -b 分支名 |
创建分支名 创建并切换到新建分支 |
查看分支 | git branch -v | 查看分支 |
切换分支 | git checkout 分支名 git checkout -b 自定义分支名 远程仓库别名/远端分支名 |
切换/检出分支 将远端分支检出到本地并新建本地分支名 |
合并分支 | git merge 分支名 | 把指定分支名合并到当前分支 |
删除分支 | git branch -d 分支名 | 删除分支 |
示例:
(1)查看分支
(2)创建分支
(3)删除分支
(4)切换分支
(5)合并分支
将目标分支合并到当前分支
git merge 目标分支名
-
正常合并
-
发生冲突合并
解决冲突问题步骤:
-
查看冲突
-
手动合并
-
添加暂存区
-
提交本地仓库
-
7、远程仓库常用操作
命令 | 描述 |
---|---|
git remote -v | 查看当前所有远程仓库地址别名 |
git remote add 别名 克隆地址 | 关联远程仓库地址(为远程仓库地址起别名) |
git clone 远程仓库地址 | 将远程仓库克隆到本地 |
git pull 远程仓库别名 远程分支名 | 将远程仓库对于分支最新内容拉取下来后与当前本地分支直接合并 |
git push 别名 分支 | 推送本地分支上的内容到远程仓库 |
git remote remove 别名 | 取消关联远程仓库地址 |
7.1、关联远程仓库并起别名
语法:git remote add 别名 克隆地址
示例:
7.2、推送本地分支上的内容到远程仓库
语法:git push 别名 分支
示例:
注意:
推送前一定先拉取远程最新代码到本地处理完冲突再推送
如果远程仓库没有该分支则会以此分支名新创建一个
7.3、拉取远程库内容
语法:git pull 关联的远程仓库地址别名 远程分支名
示例:
7.4、克隆远程仓库到本地
语法:git clone 远程仓库地址
示例:
总结:clone
命令会执行拉取代码,初始化,创建别名这三步操作(别名默认为origin
)