Git原理以及常用命令
一、Git原理
说明:
workspace:工作区
stagingarea:缓存区
local repository:版本库或本地仓库
remote repository:远程仓库
git基本工作流程图:
二、Gitlab常用命令
参考网页:https://www.runoob.com/git/git-tutorial.html
- 全局配置用户
git config --global user.name ‘罗春艳’
git config --global user.email ‘599838@ky-tech.com.cn’ - 远程仓库新建文件
a) 先克隆仓库到本地
git clone git@gitlab.com.cn/project.git
b) 进入目录luocy
cd luocy
c) 创建文件
touch filename
d) 添加到本地缓冲区
git add filename
e) 提交到本地版本库
git commit –m ‘message’
f) 推送到远程仓库,远程仓库的分支上就多了filename文件
如果本地分支和远程分支绑定,使用:git push
如果本地分支和远程分支未绑定,使用:git push origin branchname - 远程仓库新建分支
a) 本地先创建分支
git checkout -b branchname
b) push到远程仓库,并关联
git push --set-upstream origin branchname - 查看本地分支关联关系
git branch -vv - 删除远程文件
6)删除远程分支
方法一:
git push origin --delete dev
方法二:
a) 切换至其他分支
git checkout master
b) 删除本地分支
git branch -d -r dev
c) 推送至远程仓库
git push origin:dev
7) 取消分支关联
git branch --unset-upstream
8) 本地分支与远程分支关联
情况1:远程存在分支,但是本地不存在该分支
方法一:直接创建分支并和远程分支关联,一气呵成
git checkout –b branchname origin/branchname
或者使用以下命令,本地自动创建分支名同时关联远程分支
git checkout --track origin/branch_name
方法二:
a) 先创建分支
git checkout –b branchname
b) 拉取远程分支数据,并和本地关联
git pull origin branchname
情况2:本地存在分支,远程没有,即远程新建分支,同时和本地分支关联
方法一:直接创建,并关联
git push –u origin branchname //-u为关联的意思
或者
git branch --set-upstream-to origin branchname
或者
git branch --set-upstream-to=origin/ branchname
或者
git branch -u origin/branchname
方法二:
本地创建分支:git checkout –b branchname
推至远程仓库并创建分支:git push origin branchname
情况3:本地分支和远程分支名称不一致,本地dev2,远程dev
git push –u origin dev2:dev
如果远程更新了:先拉取最新代码,在关联
git pull origin dev2:dev
git push –u origin dev2:dev
情况4:推送时报错:fatal: The current branch dev has no upstream branch.
设置上游分支:git --set-upstream origin branchname
9) 更改远程仓库地址
法一:直接更改
git remote set-url origin remoteURL
法二:先删除原来的,在新增
git remote rm origin
git remote add origin remoteURL
法三:添加新的,拥有2个远程仓库,在push时指定远程仓库
git remote add
git push -u /branch
10) Git版本管理
回退到指定版本
-
丢弃更改的内容
情况1:未使用git add缓存
git checkout – filename //记住是-- ,不然就是检出分支了
放弃所有文件更改:git checkout .
情况2:使用了git add 缓存了代码
git reset HARD filename 放弃指定文件更改
git reset HARD . 放弃所有文件更改
情况3:使用了git commit提交了代码
git reset --hard HEAD^ 回退到上一个版本 -
显示提交的日志
1、 简洁方式显示
git log --pretty=”%h %cd %an ======>%s” --date=short
语法:git log --pretty=[‘参数’]
-
打Tag并提交
1)创建Tag
git tag tag名
或者基于指定分支的Tag
git checkout -b branchname v0.1.0
2)查看Tag
git tag
3)提交到远程仓库
git push origin tag名
或者将所有Tag一并push
git push origin --tags
4)删除Tag
git tag -d tag名
git push origin :refs/tags/tag名