个人常用Git命令-持续更新

初始配置

全局配置

在进行版本管理之前,首先需要对 Git 进行用户配置。

全局配置指的是当前终端上的所有仓库使用该配置,可以在任何位置设置。

# 全局配置用户名
git config --global user.name "用户名"
# 全局配置用户邮箱
git config --global user.email "用户邮箱"

局部配置

局部配置指的是当前终端上的指定仓库使用该配置,需要在指定仓库内进行设置。

# 局部配置用户名
git config user.name "用户名"
# 局部配置用户邮箱
git config user.email "用户邮箱"

版本控制相关

初始化仓库

自动创建 master 分支。

git init

查看工作区状态

git status

将工作区的修改添加到暂存区

笔者说:
该命令可执行多次,来实现将多个文件的修改添加到暂存区。另外,如果某个文件在添加到暂存区后又发生了变更,在没有提交到版本库之前,依然需要执行一次该命令。

git add 文件名1 [文件名2...]

将暂存区的修改提交到版本库

git commit -m "提交信息"

撤销未提交到暂存区的修改

git restore 文件名

撤销暂存区的修改

git restore --staged 文件名

查看提交日志

# --oneline 以一行格式显示提交日志
# 查看该文件的提交日志
git log [--oneline] [文件名]

查看操作日志

相比于 git log,reflog 可以查看到所有的操作行为,例如:回退版本······

git reflog

回退版本

笔者说:
1、回退版本的数量较少时,可以将 HEAD~回退版本的数量 改为 HEAD^ 的写法。
HEAD^ 相当于 HEAD~1HEAD^^ 相当于 HEAD~2,依次类推。
2、回退版本的数量比较多时,建议采用指定 Commit ID 来回退的方法

# --hard 回退到相应版本,放弃之前版本的修改
git reset --hard HEAD~回退版本的数量/HEAD^/Commit ID

# --soft 回退到相应版本,保留之前版本的修改
git reset --soft HEAD~回退版本的数量/HEAD^/Commit ID

修改最后一次提交的信息

笔者说:
如果你已经将之前本地版本推送到了远程仓库,那么在下一次推送的时候就> 需要加上 -f 参数了。
git push -f
但是 GitHub 或者公司内的 GitLab 等,默认都是禁止强制推送的,需要设置一下,所以还是多加注意吧。

git commit --amend [--author="用户名 <用户邮箱>"] [-m 提交信息]

修改指定提交的信息

笔者说:
如果你已经将之前本地版本推送到了远程仓库,那么在下一次推送的时候就> 需要加上 -f 参数了。
git push -f
但是 GitHub 或者公司内的 GitLab 等,默认都是禁止强制推送的,需要设置一下,所以还是多加注意吧。

# 1.开始(Commit ID 是要修改提交信息的版本的上一个版本的 Commit ID)
git rebase -i Commit ID
# 2.打开记事本后,将对应提交前的 pick 改为 e 或 edit,保存退出
# 3.进行修订,同上
git commit --amend [--author="用户名 <用户邮箱>"] [-m 提交信息]
# 4.完成
git rebase --continue

远程仓库相关

生成 SSH Key

# 一路回车即可,最终会在 ${user.home}/.ssh/ 下生成 id_rsa.pub 公钥文件和 id_rsa 私钥文件
ssh-keygen -t rsa -C "用户邮箱"

添加远程仓库

git remote add origin 远程仓库Git地址

查看远程仓库信息

git remote -v

删除远程仓库

git remote rm origin

将本地分支推送到远程仓库

# 第一次推送时,加上 [-u],后续不需要加 [-u]
# 如果远程分支名和本地分支名相同,可以省略
# 常见用法:
#   git push -u origin master
#   git push origin master
#   git push
git push [-u] [远程主机名] [本地分支名]:[远程分支名]

【谨慎】如果本地版本和远程版本不一致,可强制推送覆盖:

git push [--force/-f] [远程主机名] [本地分支名]:[远程分支名]

克隆远程仓库到本地

笔者说: 适用于本地不存在仓库,远程存在的情况。
例如:换了电脑,刚开始进入某个项目组等场景。

git clone 远程仓库Git地址

拉取远程分支与本地分支合并

# 如果远程分支是与当前分支合并,则冒号后面的部分可以省略
# 常见用法:git pull origin
git pull [远程主机名] [远程分支名]:[本地分支名]

多人协作

查看本地分支

git branch

创建并切换分支

git switch -c 分支名

创建分支

git branch 分支名

切换分支

git switch 分支名

将指定分支合并到当前分支

git merge 分支名

标签相关

查看标签

git tag

打标签

# 将指定版本打标签
# 常见用法:
#   git tag -a v1.0.0 -m "version 1.0.0" b43375
#   git tag v1.0.0
git tag [-a 标签名] [-m 标签信息] [Commit ID]

查看指定标签详细信息

git show 标签名

删除标签

git tag -d 标签名

将本地标签推送到远程仓库

git push origin -tags
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

查尔斯-BUG万象集

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值