赞
踩
命令:git clone -b 分支名 git地址
例:
git clone -b develop http://192.168.xx.xx/test.git
# 添加本地需要提交的代码 git add . # 提交代码至本地仓库,并提交修改内容(多行) git commit -m "[FIX] 标题 Test: xxx Detail: 修改详情" # 提交代码至远程分支仓库 git push origin [branch name] git push origin develop
git branch git branch -a
git log
# git branch [branch name] git branch developer
# git switch [branch name] git switch developer
# git checkout [branch name] git checkout developer
# git checkout -b [branch name] git checkout -b developer
# git push origin [branch name] git push origin developer
# git branch -d [branch name] git branch -d developer
# git push origin :[branch name] # 分支名前的冒号代表删除 git push origin :developer
# 创建标签 # -a 创建指令,后面是标签名称 # -m 添加备注,后面是备注内容 git tag -a V1.0 -m "正式版本" # 查看标签 git tag # 删除标签 # -d 删除指令,后面是标签名称 git tag -d V1.0 # 给某个指定的commit版本打标签 git tag -a V1.0 9d987d9b81 -m "正式版本" # 标签同步到远程服务器 git push origin V1.0 # 推送本地所有tag git push origin --tags # 查看远程服务器标签 git ls-remote --tags # 检出标签 git checkout V1.0
#git reset用于回退版本,可以遗弃不再使用的提交 #执行遗弃时,需要根据影响的范围而指定不同的参数,可以指定是否复原索引或工作树内容 # 回退到上个版本呢 git reset --hard HEAD^ # 回退到前3次提交之前,以此类推,回退到n次提交之前 git reset --hard HEAD~3 # 查看commit 的sha 码 git log # 显示版本差异 git show # 回退到指定的commit 的sha 码 前7位 git reset --hard xxxxxxxx #-- 本地分支回滚到指定版本 git reset --hard <commit ID号> #-- 强制推送到远程分支(有风险) git push -f origin <branch name>
#git revert在当前提交后面,新增一次提交,抵消掉上一次提交导致的所有变化,不会改变过去的历史,主要是用于安全地取消过去发布的提交 #用法如下: git revert <commit_id> #如果撤销前一个版本,可以通过如下命令: git revert HEAD #撤销前前一次,如下: git revert HEAD^
git commit --amend
# 1. 回退到xxxx编号次的状态 git rebase -i xxxx # 2. 将xxxx对应的那一条中的“pick”,修改为“edit”,并保存 # 3. 更新提交信息 git commit --amend # 4. 恢复所有提交记录 git rebase --continue # 5. 检查状态是否正确 git log
# 1. 回退到xxxx编号次的状态 git rebase -i xxxx # 2. 将xxxx对应的那一条中的“pick”,修改为“squash”,并保存 #pick 的意思是要会执行这个commit #squash 的意思是这个commit会被合并到前一个commit # 3. 检查状态是否正确 git log git status
git rebase 和 git merge优缺点分别是什么,怎么用
# git 本地合并分支 一个最简单的模型,从 master 分支 checkout 出几个本地 feature 分支,你或者你的团队在协同开发某个 feature-a 时,可能别人已把 feature-b 的代码 merge 回 master 了,所以应该及时将 master 的改动 rebase 到你的本地分支,顺便 fix conflicts。即: git switch feature-a git rebase master fix conflicts... git rebase --continue # git 远程分支合并 git switch master git merge --no-ff -m "Merge branch 'feature-a'" feature-a # --no-ff 表示不执行快速合并,没有则表示快速合并
下面来展示如何进行快进合并。下面的命令会先创建一个新分支,在新分支上进行两次提交,然后用快进合并把新分支合并回`main`分支。 # Start a new feature git checkout -b new-feature main # Edit some files git add <file> git commit -m "Start a feature" # Edit some files git add <file> git commit -m "Finish a feature" # Merge in the new-feature branch git checkout main git merge new-feature git branch -d new-feature
git submodule add http://git.xx.com/library.git
git submodule init git submodule update 或 git submodule update --init --recursive
cd submodule_directory git checkout v1.0 cd .. git add submodule_directory git commit -m "moved submodule to v1.0" git push
1.在工作区修改,但并未提交到暂存区(即并没有add)。 对于单个文件的撤销修改而言,使用下面方法。 git checkout -- 文件名 若想撤销工作区中所有文件的修改,则 git checkout . 注意:git chekcout 是让文件回到最近一次该文件git commit或git add时的状态。
2.工作区修改了之后,提交到了暂存区(即add),如何撤销修改?这里分为两种情况来说吧。 (1).对于该文件来说,在当前分支上,你还没有commit过一次; 使用 git rm --cached 文件名 命令来放弃该文件的暂存 (2).如果你已经有了commit的记录,撤销文件 则先:git reset HEAD file 让该文件回到工作区的状态。 然后:git chekcout -- file 即可
<type> <id> <subject>
Feature: 新增 feature
Fix: 修复 bug
Docs: 仅仅修改了文档,比如 README, CHANGELOG, CONTRIBUTE等等
Style: 仅仅修改了空格、格式缩进、逗号等等,不改变代码逻辑
Refactor: 代码重构,没有加新功能或者修复 bug
Preformance: 优化相关,比如提升性能、体验
Test: 测试用例,包括单元测试、集成测试等
Chore: 改变构建流程、或者增加依赖库、工具等
Revert: 回滚到上一个版本
WIP: work in porcess ,正在开发中
commit 8231e63e12fed126a877f9d4faee96449eeb3288 (HEAD -> master, origin/master) Author: 咸鱼 <xianyu@163.com> Date: Tue Mar 22 17:39:04 2022 +0800 Fix: JiraID:BA100-497 xxxxxxxxxxxxxxxxxxxxx (必须要有空行) Cause: XXXXXXXXXXXXXXX Solution: AAAAAAAAAAAAAA
“花名” <公司邮箱>
git config --global user.name "咸鱼" git config --global user.email "xianyu@163.com"
git config --list git config user.name git config user.email
运行git bash,使用如下命令生成ssh公钥和私钥,一路回车下去
#邮箱是你gitlab绑定的邮箱,一定要带引号 ssh-keygen -t rsa -C 'xianyu@163.com'
根据文件提示找到公钥文件,vi ~/.ssh/id_rsa.pub
,拷贝里面的内容
在gitlab个人属性中添加ssh keys
git pull命令 - Git教程 (yiibai.com)
克隆仓库工程 git clone xxx
建立一个本地开发分支 git checkout/switch develop
开发完成合并至 xxx 分支 git rebase
在本地xxx分支提交至远程分支 git push
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。