一些概念
当使用git clone拉取代码后,本地会出现两种类型的分支,一种是以origin/开头的远程分支,一种是本地分支。
本地的远程分支仅用来存储远程代码仓库的代码,不能用来commit
本地代码有改动,想要拉取远程最新的代码时
\\1. 将未提交成commit的所有改动存储至stash
git stash save
\\2. 仅拉取远程最新代码,不进行合并
git fetch
\\现在本地的所有origin/**分支均为最新状态
\\3. 将origin分支的最新内容合并到当前分支
gir rebase origin/**
\\4. 将存储在stash中的改动拿出来
git stash pop
\\现在可以继续工作了
创建并切换到新的分支,并设置跟踪远程某个分支
设置成跟踪之后,在新分支使用push会直接关联到远程分支
\\首先暂存所有未commit的改动到stash
git stash save
\\newBranchName为你想要创建的新分支名,origin/branchName为你想要跟踪的远程分支
git checkout -b newBranchName origin/branchName
\\将stash中的改动拿出来
git stash pop
合并多个commit,并修改commit信息
\\1. 首先暂存所有未commit的改动到stash
git stash save
\\2. 假设要修改之前的四个提交记录,使用rebase -i来进行操作,此时会进入到一个文本编辑器中
git rebase -i HEAD~4
\\每个commit前的pick/fixup/reword等代表要对该commit进行的操作
\\将第一个设置为pick,其余设置为fixup,代表使用第一个commit的提交信息,并把其他commit合并到这一个commit中
\\保存后退出编辑器
\\3. 开始修改提交信息,在弹出的文本编辑器中修改完成后保存退出即可
git commit --amend
\\将stash中的改动拿出来
git stash pop
将其他分支的某些commit拿过来用
git cherry-pick commitID