1. 修改最新 commit 信息
git commit --amend
2. 修改之前 commit 信息
git log # 获取 hash
# hash 值为对应元素的父元素的hash
git rebase -i hash
# 找到要修改的 commit(即第一行 commit)
# 将 pick 修改为 r,保存退出
# 自动切换至修改 commit 信息界面,修改即可
git log # 验证
3. 合并多个 commit 信息
git log # 获取 hash
# hash 值为对应元素最后一个的父元素的hash
# 个人的理解是,你改变了信息后就无法证明自己是自己,需要介绍父级节点来证明自己
git rebase -i hash
# 找到要修改的 commit
# 即保留第一行 commit,修改下面行至你期望的目标行
# 将 pick 修改为 s,保存退出
# 自动切换至修改 commit 信息界面,修改即可
git log # 验证
当然还有更简单一些的方法:
git log # 获取 hash
# hash 值为对应元素最后一个的父元素的hash
git reset --soft 3bc965a619447a75375aba # hash 也可以更为暴力的改为 master(对应分支名,一般是以 feature/bugfix 创建分支,所以该行为简单粗暴)
git commit -am "更简单的方法" # -am 对已跟踪的文件提交信息,不会影响尚未 add 的文件
git log # 验证
将本地仓库关联到远程仓库
方式一:远程仓库没有文件
第一步: git init
(初始化git仓库);
第二步: git remote add 地址
(设置remote地址);
第三步: git add .
(将所有变更提交到本地仓库);
第四步: git commit -m ''
(提交注释);
第五步: git push
(本地仓库推送到远程仓库)
方式二:远程仓库有文件
第一步: git init
(初始化git仓库);
第二步: git remote add origin 地址
(设置远程remote地址);
第三步: git pull origin master
(拉取远程仓库master的文件)
第四步: git branch --set-upstream-to=origin/master master
(将本地master设置为远程master分支)
第五步: git add .
(将所有变更提交到本地仓库);
第六步: git commit -m ''
(提交注释);
第七步: git push
(本地仓库推送到远程仓库)
分支
分支基本命令
- 创建分支
- 同时创建:仓库+分支
git init -b <分支名称>
- 已有仓库,再创建分支
仅创建分支:git branch<分支名称>
创建并切换到分支:git checkout -b <分支名称>
分支查看
git branch
切换分支
git checkout <分支名称>
删除分支
git branch -D <分支名称>
重命名分支
git branch -m <原名称> <新名称>
分支合并
git merge <被合并分支名称>
实操流程
- 创建分支:创建版本库同时创建分支
git init -b dev
-b:代表 branch 分支意思
dev:代表开发分支
2. 查看版本库有哪些分支 git branch
查看版本库状态
git status
提交分支内容
git commit -m '第一次提交'
创建分支二:在现在版本库创建新分支
git branch cs
cs:分支名称
6. 分支重命名
git branch -m cs abc
cs:旧名称
abc:新名称
- 删除分支
git branch -d abc
-d:为delete,删除,用于删除已经合并过的分支
-D:强制删除分支(不管是否合并过)
- 切换分支
git checkout dev
dev:代表开发分支 9. 合并分支
git merge dev
- 此时在别的分支下,合并dev分支 dev:代表开发分支
- 远程是空白仓库没有任何文件的时候
//初始化
git init
//从现有 Git 仓库中拷贝项目
git clone
//关联远程仓库
git remote add origin 远程地址
//提交本地文件到暂存区
git add .
//将暂存区内容添加到本地仓库中
git commit -m"注释"
//推送到远程分支
git push
- 远程仓库有文件
//初始化
git init
//关联远程仓库
git remote add origin 远程地址
//拉取远程master分支上内容
git fetch origin master
//设置当前分支为远程仓库的master分支
git branch --set-upstream-to=origin/master master
//提交本地文件到暂存区
git add .
//将暂存区内容添加到本地仓库中
git commit -m"注释"
//推送到远程分支
git push