git
# 1、git 工作流程
命令:
- clone:克隆,从远程仓库中克隆代码到本地仓库
- checkout:检出,从本地仓库检出一个仓库分支然后进行修订
- add:添加,在提交前先将代码提交到暂存区
- commit:提交,提交到本地仓库,本地仓库中保存修改的各个历史版本
- fetch:抓取,从远程库抓取到本地仓库,不进行任何的合并动作,一般操作比较少。
- pull:拉取,从远程库拉到本地库,自动进行合并(merge),然后放到工作区,相当于 fetch+merge
- push:推送,修改完成后,需要和团队成员共享代码时,将代码推送到远程仓库
# 2、git 常用命令
- ls/ll 查看当前目录
- cat 查看文件内容
- touch 创建文件
- vi vi 编辑器
# 3、基础操作指令
git 工作目录下对于文件的修改 (增加、删除、更新) 会存在几个状态,这些修改的状态会随着执行 git 命令而改变。
# 3-1、* 查看修改的状态(status)
- 作用:查看的修改的状态(暂存区、工作区)
- 命令:
git status
# 3-2、* 添加工作区到暂存区(add)
- 作用:添加工作区一个或多个文件的修改到暂存区
- 命令:
git add
单个文件名 | 通配符- 将所有修改加入暂存区:
git add .
- 将所有修改加入暂存区:
# 3-3、* 提交暂存区到本地仓库(commit)
- 作用:提交暂存区内容到本地仓库的当前分支
- 命令:
git commit -m '注释内容'
# 3-4、* 查看提交日志(log)
在.bashrc 文件中输入:(作用是配置别名)
#用于输出git提交日志 |
- 作用:查看提交记录
- 命令:配置过别名后直接
git-log
- log 后可跟参数:
- –all 显示所有分支
- –pretty=online 将提交信息显示为一行
- –abbrev-commit 使输出的 commit 更简短
- –graph 以图的形式显示
# 3-5、版本回退
- 作用:版本切换
- 命令:
git reset --hard commitID
- commitID 可以使用
git-log
或git log
查看
- commitID 可以使用
- 查看已经删除的记录:
git reflog
# 4、分支
- 查看本地分支:
git branch
- 创建本地分支:
git branch 分支名
- ***** 切换分支:
git checkout 分支名
- 创建并切换分支:
git checkout -b 分支名
- ***** 合并分支(一个分支上的提交可以合并到另一个分支):
git merge 分支名称
- 删除分支(不能删除当前分支,只能删除其他分支)
git branch -d b1
:删除分支时,需要做各种检查git branch -D b1
:不做任何检查,强制删除分支
# 5、操作远程仓库
# 5-1、添加远程仓库
- 命令:
git remote add 远端名称 仓库路径
- 远端名称:默认是 origin,取决于远端服务器设置
- 仓库路径:从远端服务器获取 URL
# 5-2、查看远程仓库
- 命令:
git remote
# 5-3、推送到远程仓库
- 命令:
git push [-f] [--set-upstream] [远端名称 [本地分支名][:远端分支名] ]
- 如果远程分支名和本地分支名称相同,则可以只写本地分支
git push origin master
- -f 表示强制覆盖
--set-upstream
推送到远端的同时并且建立起和远端分支的关联关系git push --set-upstream origin master
- 如果当前分支已经和远端分支关联,则可以省略分支名和远端名
git push
将 master 分支推送到已关联的远端分支
- 如果远程分支名和本地分支名称相同,则可以只写本地分支
# 5-4、本地分支与远程分支的关联关系
- 命令:
git branch -vv
# 5-5、从远端仓库克隆
如果已经有一个远端仓库,可以直接 clone 到本地。
- 命令:
git clone 仓库路径 [本地目录]
- 本地目录可以省略,会自动生成一个目录
# 5-6、从远端仓库中抓取和拉取
远程分支和本地的分支一样,都可以进行 merge 操作,只是需要先把远端仓库里的更新都下载到本
地,再进行操作。
- 抓取 命令:
git fetch 远端名 分支名
- 抓取指令就是将仓库里的更新都抓取到本地,不会进行合并
- 如果不指定远端名和分支名,则抓取所有分支
- 拉取 命令:
git pull 远端名 分支名
- 拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于 fetch+merge
- 如果不指定远端名和分支名,则抓取所有并更新当前分支
# 附:几条铁令
- 切换分支前先提交本地的修改
- 代码及时提交,提交过了就不会丢
# 附:idea 集成 GitBash 作为 Terminal
file --> settings --> Tools --> Terminal 修改:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 树屋❤!
评论