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
git rebase -i hash_num
把pick改为squash或者s,并:wq保存
git log
- rebase参数说明:
git rebase -i [startpoint] [endpoint]
- -i 的含义是:–interactive, 即弹出交互式的界面让用户编辑完成合并操作
- [startpoint] :合并区间的起点。默认是当前分支 HEAD 所指向的 commit。
- [endpoint] :合并区间的终点,endpoint为不需要包含的commit的hash
- 参数选项说明:
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. 修改本地和远程分支名字
- 修改本地分支名字
git branch -m "原分支名" "新分支名"
git branch -m "新分支名称"
- 修改远程分支的名字
git push --delete "原分支名"
git branch -m "原分支名" "新分支名"
git push origin "新分支名"
5. 删除本地和远程分支
git branch -d local_Branch_name
git branch -D local_Branch_name
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分支上去。
git branch dev
git rebase master
打开vscode,解决冲突,然后执行continue操作,直到没有冲突
git rebase --continue
提示没有冲突后,添加修改至现在的分支
git add .
注意这里不需要提交commit操作
git push origin master
git push origin master -f
|