新人记录git提交代码常用命令 | 您所在的位置:网站首页 › 如何撤销svn提交的版本 › 新人记录git提交代码常用命令 |
git拉取指定分支
命令:git clone -b 分支名 git地址 例: git clone -b develop http://192.168.10.22/test.git git提交指定分支 # 添加本地需要提交的代码 git add . # 提交代码至本地仓库,并提交修改内容(多行) git commit -m "[FIX] 标题 Test: xxx Detail: 修改详情" # 提交代码至远程分支仓库 git push origin [branch name] git push origin develop git查看当前分支/查看所有分支 git branch git branch -a git查看提交日志记录 git log git 新建本地分支 # git branch [branch name] git branch xuande_developer 切换至新分支 # git switch [branch name] git switch xuande_developer # git checkout [branch name] git checkout xuande_developer 创建 + 切换分支 # git checkout -b [branch name] git checkout -b xuande_developer 将新分支推送至github # git push origin [branch name] git push origin xuande_developer 删除本地分支 # git branch -d [branch name] git branch -d xuande_developer 删除github远程分支 # git push origin :[branch name] # 分支名前的冒号代表删除 git push origin :xuande_developer 回滚版本 # 回退到上个版本呢 git reset --hard HEAD^ # 回退到前3次提交之前,以此类推,回退到n次提交之前 git reset --hard HEAD~3 # 查看commit 的sha 码 git log # 显示版本差异 git show # 回退到指定的commit 的sha 码 前7位 git reset --hard xxxxxxxx 修改上一次commit 信息 git commit --amend 修改某一次commit信息 # 1. 回退到xxxx编号次的状态 git rebase -i xxxx # 2. 将xxxx对应的那一条中的“pick”,修改为“edit”,并保存 # 3. 更新提交信息 git commit --amend # 4. 恢复所有提交记录 git rebase --continue # 5. 检查状态是否正确 git log 合并某几次的commit信息 # 1. 回退到xxxx编号次的状态 git rebase -i xxxx # 2. 将xxxx对应的那一条中的“pick”,修改为“squash”,并保存 #pick 的意思是要会执行这个commit #squash 的意思是这个commit会被合并到前一个commit # 3. 检查状态是否正确 git log git status git rebase 合并rebase详解 git rebase 和 git merge优缺点分别是什么,怎么用 使用分支——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 git commit -m "Start a feature" # Edit some files git add 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添加子仓库 git submodule add http://git.example.com/library.git git 更新子仓库 git submodule init git submodule update 或 git submodule update --init --recursive git 子仓库切换分支 cd submodule_directory git checkout v1.0 cd .. git add submodule_directory git commit -m "moved submodule to v1.0" git push git 撤销修改 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 即可 commit 格式 type类型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: xxx Date: Tue Mar 22 17:39:04 2022 +0800 Fix: JiraID:xxxx xxxxxxxxxxxxxxxxxxxxx (必须要有空行) Cause: XXXXXXXXXXXXXXX Solution: AAAAAAAAAAAAAA Author 规范“花名” 修改方式 git config --global user.name "test" git config --global user.email "[email protected]"查看方式 git config user.name git config user.email git 命令参考网址git pull命令 - Git教程 (yiibai.com) git正常使用流程克隆仓库工程 git clone xxx 建立一个本地开发分支 git checkout/switch develop 开发完成合并至 xxx 分支 git rebase 在本地xxx分支提交至远程分支 git push |
CopyRight 2018-2019 实验室设备网 版权所有 |