Git工作中常用命令

目前市面上用于代码管理的工具挺多的,比如:,但这其中就属于 SVNGit 占用市场份额比较高,所以了解其基础使用,对满足工作应用场景
中代码管理还是有着一定的帮助。

下面就是我在工作中常用的git运行命令,大概整理了下,给自己一个备忘录,也给需要的同学一份帮助。

git 常用命令

# 查看配置
git config --list

# 初始化仓库
git init

#克隆代码前需要设置账户,邮箱和密钥
# 配置用户名(如果不用全局可以不加 --global)
git config --global user.name  "username"

# 配置邮箱(如果不用全局可以不加 --global)
git config --global user.email  "email"

# 设置密钥
ssh-keygen -t rsa -b 4096 -C "xxx.com"

# 查看密钥(默认情况下)
cat ~/.ssh/id_rsa.pub

# 克隆代码(默认master分支)
git clone '代码仓库地址'

# 克隆指定分支代码
git clone -b '分支名' '仓库地址'
# 例:git clone -b tob-adc-dev  xxx.git

# 查看下包镜像地址
npm config get registry

# 设置下包镜像地址
npm config set registry==https://try.npm.taobao.org/

# 查看当前代码更改状态
git status

# 查看工作区与暂存区改动文件差异
git diff

# 查看工作区与某分支文件差异
git diff '分支名'

# 拉取代码后命令行提示有文件冲突,查看所有冲突文件
git diff --name-only --diff-filter=U
# 注释:--name-only 参数表示只显示文件名,--diff-filter=U 参数表示显示冲突文件

# 将某个修改文件提交本地暂存区
git add '文件名称'

# 将当前工作区修改的文件提交到本地暂存区
git add .

# 将本地修改文件提交到本地存储库
git commit -m '提交内容'

# 拉取远程分支代码
git pull origi '远程分支名称'

# 将本地代码推送到远程分支
git push origin '远程分支名称'

# 合并另外分支代码
git merge '分支名称'

# 更新远程创建的分支到本地
git fetch

# 切换分支
git checkout '分支名称'

# 创建并切换分支
git checkout -b '分支名称'

# 依据远程某个分支创建本地分支并切换到此分支(使用最多)
git checkout -b '创建分支名称' origin/'远程分支名称'

# 创建分支
git branch '分支名称'

# 查看本地分支
git branch

# 查看远程分支
git branch -a

# 以列表形式展示本地所有分支的名称和它们之间的关系
git show-branch --list

# 查看所以commit日志
git log

# 查看精简提交日志记录
git log --oneline

# 查看某个提交者的日志记录,用户名可以通过 git config user.name 获取
git log --author='用户名'

# 查看某个时间段内的日志记录
git log --since='2 weeks ago'

# 打patch包
git format-patch -1  'commit 提交版本号'

# 回滚到上次版本
git reset HEAD^

# 回滚到上上次版本(往回退几次,就在HEAD后面添加多少个^)
git reset HEAD^^

# 回滚到某个具体的版本
git reset --hard 'commit 提交版本号'
# 例:git reset --hard '7d699948d347d4e88e336f55b5b419f1af4d5316'
# '7d699948d347d4e88e336f55b5b419f1af4d5316' 这个值需要使用git log 去查询

# 本地已修改,暂未 add , 清除所有修改
git checkout .

# 本地已修改 且 add , 清除具体文件
git reset HEAD '文件名'

# 本地已修改 且 add , 清除所有修改
git reset HEAD .

# 本地已修改,且 已 add 和 commit, 清除所有修改
git reset --hard HEAD^ 

# 删除本地仓库分支(未使用)
git branch -d '分支名称'

# 强制删除本地正在使用的分支
git branch -D '分支名称'

# 删除远程仓库分支
git push origin --delete '分支名称'

# 拉取更新远程某个具体分支下某个具体文件
# 说明:如果没有更新远程分支,可以先 git fetch 同步一下远程分支
# 示例:git checkout origin/dev_1.4.8 src/pages/calc/calcFi/index.tsx
git checkout origin/'分支名称' '需要更新文件的远程仓库下具体地址'

# 查看当前项目下所有的文件
git ls-files

# 合并其他分支提交的代码
git cherry-pick 'commit 提交版本号'
# 例:git cherry-pick 7d699948d347d4e88e336f55b5b419f1af4d5316
# 7d699948d347d4e88e336f55b5b419f1af4d5316 这个值需要使用git log 去查询

# 合并多个提交版本代码
git cherry-pick 'commit 提交版本号1 commit 提交版本号2 commit 提交版本号3'
# 例:git cherry-pick abc1 abc2 abc2 
# 注意的是按照提交时间先后顺序排序,防止出现cherry不成功,如果遇到有冲突,请先处理冲突后,再继续

#配置镜像地址
yarn config set registry '镜像地址'

#查看镜像地址
yarn config get registry

git 打patch包

  1. 当前工程根目录下运行

  2. 使用 git format-patch 命令创建补丁文件。

    git format-patch -o patches [开始commit(不包含)]^..[结束commit(包含)]
    

    示例: 如果有 commit id 1, 2, 3, 4, 5, 6,对 3, 4, 5, 6 这四个commit进行打 patch 包

    在这个例子中,起始 commit ID 是 3 的前一个 commit,即 2 的父 commit,你可以使用 ^ 符号来表示。假设 commit 2 是一个独立的 commit

    git format-patch -o patches 2^..6
    

    这会在当前目录下创建一个名为 patches 的文件夹,并且在这个文件夹中生成包含 commit 3, 4, 5, 6 的补丁文件。

    如果你不知道 commit 2 的父 commit,可以使用以下命令找到 commit 3 的父 commit:

    git log --oneline 3
    
  3. 查看和验证补丁文件。

    patches 目录下,你会看到类似 0001-<commit-message>.patch 的文件。你可以查看这些文件来确保它们包含了正确的更改。

  4. 将补丁应用到其他仓库。

    假设你已经将补丁文件移动到目标仓库的目录下,使用 git am 命令来应用它们:

    git am patches/*.patch
    

    如果在应用补丁时遇到合并冲突,解决冲突后继续应用补丁。

  5. 推送更改到远程仓库(如果需要)。

    应用补丁后,如果需要,将更改推送到远程仓库:

    git push origin <branch-name>
    

git 学习地址

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值