使用git命令前,先要熟悉一下git的四个概念:
工作区(workspace):在IDE中编辑的代码
暂存区(index):对应本地隐藏的.git文件夹,通过git add存放
本地仓库repository:对应本地隐藏的.git文件夹,通过git commit存放
远程仓库(remote):通过push命令推到远端的git服务器
四个区域的代码同步和更新,可以通过如下图所示的常见命令来完成。参见常用 Git 命令清单 - 阮一峰的网络日志 (ruanyifeng.com)
一、本地仓库
1. 登录
git config --global user.name "xxx"
git config --global user.email "[email protected]"
注意:要在git的团队中,添加对应的人员名单
2. 克隆
git clone http://172.21.72.73:8009/xxx-front/xxx-portal.git
git clone -b 分支名称 http://172.21.72.73:8009/xxx-front/xxx-portal.git
3. 分支相关
git branch -a //查看本地、远端所有分支
git branch dev //本地创建分支
git checkout dev //切换分支
git checkout -b dev //创建本地分支并切换到该分支
git checkout -b 远程分支名 origin/远程分支名 //创建本地分支,并同时拉取同名远程分支代码,并切换到该分支(推荐)
git branch --delete dev //删除本地分支
git push origin --delete branch //删除远程分支
// 远端创建一个分支
git checkout -b dev //创建本地分支并切换到该分支
git push -u origin dev // 将本地分支推送到远端,给远端创建一个dev分支
4. 文件状态查看
git status \\查看当前文件修改状态,修改了哪些,新增删除了哪些
5. 提交
git add . 或者 git add xxx //将本地修改文件添加到本地git缓存区中
git commit -m "提交730分支代码" //推送修改到本地git库中
git pull origin master //取回远程主机master分支的更新,再与本地的指定分支合并
git push origin master //把当前提交到本地git仓库的代码,推送到远程主机origin的master分支上(远端没有该分支时,会自动创建)。
6. 将master主分支最新代码合并到dev分支
Git中的merge是用来把分叉的提交历史放回到一起的方式。git merge命令是将其他分支合并到当前所在工作分支上。当前工作分支的内容会由于merge操作产生更新
如何将master主分支最新代码合并到dev分支上?先merger到本地dev,再推送到远端的dev,具体命令如下:
git checkout master
git pull
git checkout dev
git merge master
git push origin dev
开发完成后,将dev代码合并到master上,跟上面的步骤一致
7. 删除已经add的文件
git rm --cached "文件路径" //不删除物理文件,仅将该文件从缓存中删除;
git rm --f "文件路径" ///不仅将该文件从缓存中删除,还会将物理文件删除(不会回收到垃圾桶)
git reset HEAD //如果后面什么都不跟的话 就是上一次add 里面的全部撤销了
git push origin --delete dev //删除远端的dev分支
8. 打标签tag
// 打标签
git tag V1.0.0.1
git push origin --tags
// 获取对应标签的代码
git checkout -b branch_name tag_name
二、远端操作
git remote -v //查看远端的仓库
git remote add //添加一个新的远程 Git 仓库,同时指定一个方便使用的简写:
eg: git remote add dev_srx [email protected]:xxx-front/xxx-portal.git
git remote rm origin //删除现有远程仓库
git remote add origin url //添加新远程仓库
三、子模块使用
git submodule add https://github.com/XXX //在仓库中拉取其他仓库作为子模块
1、在本地仓库中,拉取其他仓库代码的命令。若想指定分支,可以增加-b参数[-b
2、命令执行后,会在本地仓库中新增子模块XXX,以及.gitmodules文件
3、更新子模块的命令:cd XXX后,执行git pull更新
4、删除子模块
rd/s/q XXX 删除子模块目录及源码
del/f/s/q .gitmodules 删除项目目录下.gitmodules文件中子模块相关条目
cd .git
del/f/s/q config 删除配置项中子模块相关条目
rd/s/q modules 删除模块下的子模块目录,每个子模块对应一个目录,注意只删除对应的子模块目录即可
cd ../
git rm --cached XXX 执行完以上命令后,再执行添加子模块命令,如果仍然报错,则执行此命令
注意:外层仓库的更新,不会更新子模块