Git&GitLab使用方式

本文详细介绍了Git的基本操作,包括创建分支、切换分支、合并、删除、远程仓库管理、代码迁移、标签管理、密码设置、克隆与初始化等,助你快速掌握Git的核心技巧。

git常用命令

git branch -a

  • 查看所有分支

git branch -r

  • 查看所有远程分支

git branch

  • 查看所有本地分支

git branch -d 分支名称

  • 删除本地分支

git push origin -d 分支名称

  • 删除远程分支

git clone -b [分支名称] [项目地址]

  • 从远程仓库clone某个分支
  • 指定用户名密码
    git clone https://username:password@remote-git-repository-url
    如果用户名使用的是邮箱,那么 @ 符号需要转义成 %40,否则会无法识别邮箱,与 Git 仓库地址前面的 @ 造成冲突

git checkout [分支名称]

  • 本地切换分支

git checkout -b [分支名称b] origin/[分支名称a]

  • 从远程仓库clone分支a到本地,并起名分支b,并切换到分支b

  • git push 命令用于从将本地的分支版本上传到远程并合并
    命令格式如下:
    git push <远程主机名> <本地分支名>:<远程分支名>
    如果本地分支名与远程分支名相同,则可以省略冒号:
    git push <远程主机名> <本地分支名>
    在这里插入图片描述

  • 代码提交量统计

git log --since=2023-04-01 --until=2023-05-31 --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -; done
  • Git修改密码后重置
    git config --system --unset credential.helper
    git config --global credential.helper store
    git config --global --unset user.password

  • 配置
    git config --global user.name “xxx”
    git config --global user.email “xxx”
    git config -l 查看配置

  • 查看commitID
    git log --pretty=oneline 可选–abbrev-commit
    或idea中查看
    在这里插入图片描述

  • 创建tag
    git tag <tag名字> // 创建 tag
    git tag -a <tag名字> -m <注释文字> //创建带注释的tag
    git tag -a <tag名字> commitID

  • 查看tag
    git tag //查看本地所有tag
    git tag -n //查看本地所有tag,包含提交信息
    git ls-remote --tags origin //查看远程所有tag
    git show <tag名字> //查看 tag 详细信息

  • 提交tag
    git push origin <tag名字> // 推送单个tag到远程
    git push origin --tags // 推送所有本地tag到远程

  • 删除tag
    git tag -d <tag名字> //删除本地tag
    git push origin :<tag名字> //删除远程tag

gitLab中从源仓库同步代码到fork仓库

1.在本地项目根路径下,添加源项目的远程仓库地址到upstream
git remote add upstream http://ip:port/path/projectName.git

2.把源项目的更新fetch到本地的upstream里
git fetch upstream

3.切换到自己想要merge的分支,我这里用develop
git checkout develop

4.merge源项目的更新到自己的branch
git merge upstream/develop

基于已有代码初始化项目

1.gitlab上创建项目
2.clone到本地
3.将已有代码copy到本地项目根目录下
4.依次执行git add . git commit -m 'init...' git push

空项目上传代码

  • Git global setup
git config --global user.name "xxx"
git config --global user.email "xxx"
  • Create a new repository
git clone http://xxx/bbs/test1.git
cd test1
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master
  • Push an existing folder
cd existing_folder
git init
git remote add origin http://xxx/bbs/test1.git
git add .
git commit -m "Initial commit"
git push -u origin master
  • Push an existing Git repository
cd existing_repo
git remote rename origin old-origin
git remote add origin http://xxx/bbs/test1.git
git push -u origin --all
git push -u origin --tags
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值