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(本地仓库推送到远程仓库)

分支

分支基本命令

  1. 创建分支
  • 同时创建:仓库+分支

git init -b <分支名称>

  • 已有仓库,再创建分支

仅创建分支:git branch<分支名称>

创建并切换到分支:git checkout -b <分支名称>

  1. 分支查看 git branch

  2. 切换分支 git checkout <分支名称>

  3. 删除分支 git branch -D <分支名称>

  4. 重命名分支 git branch -m <原名称> <新名称>

  5. 分支合并 git merge <被合并分支名称>

实操流程

  1. 创建分支:创建版本库同时创建分支 git init -b dev

-b:代表 branch 分支意思dev:代表开发分支 2. 查看版本库有哪些分支 git branch

  1. 查看版本库状态 git status

  2. 提交分支内容 git commit -m '第一次提交'

  3. 创建分支二:在现在版本库创建新分支 git branch cs

cs:分支名称 6. 分支重命名

git branch -m cs abc

cs:旧名称
abc:新名称
  1. 删除分支
git branch -d abc

-d:为delete,删除,用于删除已经合并过的分支
-D:强制删除分支(不管是否合并过)
  1. 切换分支 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