pull与fetch & merge与rebase & cherry-pick 基本用法

pull与fetch

两者一般都用于从远程仓库拉取分支内容到本地

git pull // 拉取对应的线上分支的内容到本地
git pull origin <分支名1>  // 拉取<分支名1>远程分支内容的同时,将<分支名1> merge 到当前本地分支对应的远程分支,同时本地分支内容也更新
git fetch origin <分支名1> // 拉取<分支名1>远程分支内容,本地分支内容更新,不执行merge操作,需要手动commit、push到本地分支对应的远程分支上

--rebase

git pull // git fetch + git merge
git pull --rebase // git fetch + git rebase

merge 与 rebase

两者都用于分支合并

git merge origin <分支名1>  // 将远程分支<分支名1>合并到当前分支,同时会生成一个新的节点,节点提交记录`Merge branch 'master' of ........`
git rebase origin <分支名1> // 将远程分支<分支名1>合并到当前分支,不会生成新的节点,提交记录成一条线性
使用merge会保留比较全面的提交信息

使用rebase会展现较为干净清晰的timeline

cherry-pick

可将某些提交节点拉取到当前分支

git cherry-pick   // 将commit_id1和commit_id2这两个节点的提交拉取到当前分支,commit_id可使用git可视化工具或者命令git log来获取
git cherry-pick .. // 将commit_id1到commit_id2这两个节点中间的所有提交(不包括commit_id1)拉取到当前分支
git cherry-pick ^.. // 同上,但包含commit_id1这次提交
git cherry-pick <分支名1> // 将<分支名1>最新一次提交拉取到当前分支

你可能感兴趣的:(pull与fetch & merge与rebase & cherry-pick 基本用法)