1. 下载代码
git clone xxx需要克隆的代码链接
2. 提交代码
git add . 将文件从工作区–>暂存区
git commit - m '本次提交的描述' 是将文件从暂存区–>git本地仓库
git push 提交到远端仓库
3. 代码提交到错误分支
git cherry-pick <commit-id>
其中,<commit-id> 希望把其他分支commitID 拿到当前分支
4. 查找分支
git branch --list *需要查找分支*
5. 删除分支
git branch -D 需要删除的分支
6. 修改commit 提交记录
(1). 修改最近一次 commit 提交记录
git commit --amend
然后按键盘i 键,修改之后按Esc 再按 :wq 退出编辑命令窗
(2). 修改之前 commit 提交记录
git rebase -i
然后按键盘i 键,修改之后按Esc 再按 :wq 退出编辑命令窗
注意:修改提交记录会改变历史,因此需要谨慎使用,并且最好只在本地仓库内进行修改。
如果已经将修改push 到远程仓库,那么其他人在 pull 时会出现问题,因此需要通知其他人在
修改之前先进行 pull
7. 查看提交记录
git log 查看提交记录 不包括已经被删除的 commit 记录和 reset 的操作
git reflog 查看所有的提交记录 包括提交,回退的操作
8. 回退代码
git rest --hard HEAD^:回退到上一版;
git rest --hard HEAD^^:回退到倒数第二版;
git rest --hard 3628164:回退到commit id为3628164的版本
9. Git rebase 和 Git merge 区别以及使用
(1) Git rebase 的一些使用
方法一:拉取远程最新生产分支(master),本地master分支单独更新。
(1) 切换开发分支:git pull --rebase origin master (可能会产生冲突)
(2) 解决冲突 -> git add .
(3) git rebase --continue| --abort
可能会有多次冲突,重复2、3项
(4) git push -f
方法二:更新本地生产分支(master),使用rebase变基操作
(1) 切换master:git pull
(2) 切换开发分支:git rebase master (可能会产生冲突)
(3) 解决冲突然后执行 -> 4、5项
(4) git add .
(5) git rebase --continue
执行之后如果没冲突 就会展示当前分支然后执行7 项,否则会展示commitId 看6项)
(6) 可能会有多次冲突,重复2、3项
(7) git push -f
其他的一些操作:
(4) git rebase --abort 是中断这次rebase
(5) git rebase --skip 忽略本次rebase (慎用可能会造成能代码丢失)
(6)把本次分支所有的commit提交合并为一次
git rebase -i commitId(master最新的一次提交id)
进入vi 把第一条下的所有pick xxxx 改为 s(squash) xxx
:wq退出
git push -f(强推一下)
(2) Git merge 的使用
git merge <需要合并的分支> 如果又冲突合并之后解决冲突
然后git push 提交代码,
git merge --abort 放弃本次merge
(3) 区别
git merge 会产生一条新的提交记录,保留了被合并的分支的所有提交记录,合并后的提交记录
是一个新的节点
git rebase 不会,git rebase会丢失被移动的分支的提交记录,合并后的提交记录是原来的节
点移动到了新的位置(新手不建议使用)
白话文:git merge 合并之后会把不同日期开发的代码穿插着,git rebase 会把当前分支代码
合并到被合并的分支最前边
GIT 的一些操作, merge 和 rebase 区别
于 2023-04-17 15:02:28 首次发布