实用的git操作记录

Posted 非晚非晚

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实用的git操作记录相关的知识,希望对你有一定的参考价值。

git简单而实用,使用时间长了,越来越喜欢它,简直是开发利器。现在记录一些实用操作,以供大家参考。

1. 初始配置

绑定Git的用户名及邮箱

git config --global user.name "yourname" 
git config --global user.email "yourname@163.com"

生成ssh文件

 ssh-keygen -t rsa -C "yourname@163.com"

然后一路回车即可

id_rsa是私钥,id_rsa.pub是公钥,windows和Linux都在用户的.ssh文件夹下:

cd
cd .ssh
cat id_rsa.pub #复制该文件下的全部内容,

2. 合并多个commit

  • 操作步骤
git log # 查看commit记录
git rebase -i hash_num # hash_num为不需要合并的hash号
# 然后会弹窗,修改为合并选项,如下
把pick改为squash或者s,并:wq保存
# 继续弹窗,编辑commit内容,可以和原来不一样,也可以将不需要的注释掉
  • 最后查看commit记录
git log #只是为了检查
  • 说明
  1. rebase参数说明:
git rebase -i [startpoint] [endpoint]
  • -i 的含义是:–interactive, 即弹出交互式的界面让用户编辑完成合并操作
  • [startpoint] :合并区间的起点。默认是当前分支 HEAD 所指向的 commit。
  • [endpoint] :合并区间的终点,endpoint为不需要包含的commit的hash
  1. 参数选项说明:
p, pick: 保留该 commit。
r, reword: 保留该 commit,可以修改 commit 的注释。
e, eidt: 保留该 commit,但停下来修改该 commit (不仅仅是注释),可以用来解决 merge 冲突。
s, squash: 将该 commit 和 前面一个 commit 合并。
f, fixup: 将该 commit 和 前面一个 commit 合并,但不保留该提交的注释信息。
x, exec: 执行 shell 命令。
d, drop: 丢弃该 commit。

3. 修改旧的commit消息

同样也是使用rebase -i操作,不同的是,需要将pick改为reward或者r,然后将原消息修改为自己需要的commit新消息

4. 修改本地和远程分支名字

  1. 修改本地分支名字
  • 修改非当前分支的名字
git branch -m "原分支名" "新分支名"
  • 修改当前分支的名字
git branch -m "新分支名称"
  1. 修改远程分支的名字
git push --delete "原分支名" #先删除远程分支
git branch -m "原分支名" "新分支名" #修改本地分支名字
git push origin "新分支名"  #推送至远程分支

5. 删除本地和远程分支

  • 删除本地分支
 git branch -d local_Branch_name # 方法1:
 git branch -D local_Branch_name #方法2:-D等效于--delete --force命令的标志代替-d
  • 删除远程分支
git push origin --delete remote_Branch_name

6. 找回丢失的commit

有时候使用git reset --hard之后,就看不到最新的一些commit,如果想要回退到之前的commit,可以使用下列命令来查看历史hash,然后使用reset操作找回之前的commit。

查看历史操作命令,下列2个都可以:

git reflog
git reflog show

7. 合并分支操作(rebase)

假设现在有两个分支,一个master分支,另一个dev分支,现在要把dev分支的内容合并到master分支上去。

  • 切换至dev分支
git branch dev
  • rebase合并
git rebase master
  • 如果有冲突,执行下列操作,如果没有则跳过

打开vscode,解决冲突,然后执行continue操作,直到没有冲突

git rebase --continue

提示没有冲突后,添加修改至现在的分支

git add . #添加所有修改

注意这里不需要提交commit操作

  • 提交远程
git push origin master

#如果提示有问题,且自己确认代码无误,可以强制提交
git push origin master -f

以上是关于实用的git操作记录的主要内容,如果未能解决你的问题,请参考以下文章

超实用的php代码片段

VSCode自定义代码片段15——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程

C#程序员经常用到的10个实用代码片段 - 操作系统

QT 实用代码片段

Git远程分支操作记录