创建本地分支
git branch 分支名
例如:git branch dev,这条命令是基于当前分支创建的本地分支,假设当前分支是master(远程分支),则是基于master分支创建的本地分支dev。
删除本地分支(必须保证不在删除的分支上,才能进行删除)
git branch -d dev
切换到本地分支
git checkout 分支名
例如:git checkout dev,这条命令表示从当前master分支切换到dev分支。
创建本地分支并切换
git checkout -b 分支名
例如:git checkout -b dev,这条命令把创建本地分支和切换到该分支的功能结合起来了,即基于当前分支master创建本地分支dev并切换到该分支下。
提交本地分支到远程仓库
git push origin 本地分支名
例如: git push origin dev ,这条命令表示把本地dev分支提交到远程仓库,即创建了远程分支dev。
删除远程分支
git push --delete origin dev
首次推送本地分支到远程
git push --set-upstream origin 本地分支名
本地分支关联远程分支
git branch --set-upstream-to=origin/远程分支名 本地分支名
查看远程分支
git branch -a
Git修改本地或远程分支名称
注:修改远程分支先拉下来再进行以下步骤
- 旧分支:oldBranch
- 新分支:newBranch
步骤:
- 先将本地分支重命名
git branch -m oldBranch newBranch
- 删除远程分支(远端无此分支则跳过该步骤)
git push --delete origin oldBranch
- 将重命名后的分支推到远端
git push origin newBranch
- 把修改后的本地分支与远程分支关联
git branch --set-upstream-to origin/newBranch
参考文章: juejin.cn/post/684490…
cherry-pick
对于多分支的代码库,将代码从一个分支转移到另一个分支是常见需求。
这时分两种情况。一种情况是,你需要另一个分支的所有代码变动,那么就采用合并(git merge)。另一种情况是,你只需要部分代码变动(某几个提交),这时可以采用 Cherry pick。
$ git cherry-pick <commitHash>
举例来说,代码仓库有master和feature两个分支。
a - b - c - d Master
\
e - f - g Feature
现在将提交f应用到master分支。
# 切换到 master 分支
$ git checkout master
# Cherry pick 操作
$ git cherry-pick f
git正确的删除远程仓库的文件并用.gitignore忽略提交此文件
git rm -r --cached target
git commit -m "delete target/"
git push origin master
先删除暂存区的文件,然后提交,下一步就是编辑.gitignore文件,添加忽略
将本地已有的一个项目上传到新建的git仓库的方法
先将本地的项目初始化为一个git仓库,然后再强行合并本地仓库和远程仓库,由于这两个仓库是完全不同的两个仓库,所以直接pull都会报错,需要在pull的时候假加上–allow-unrelated-histories才可以pull成功。此方法适用于本地项目已经是一个git仓库的情况
- 将本地仓库与远程仓库关联起来;
- pull远程仓库的内容,更新本地仓库,使用–allow-unrelated-histories忽略本地仓库和远程仓库的无关性,强行合并(关键);
- 把本地仓库的内容push到远程仓库;
git remote add origin git@github.com:yuanmingchen/tensorflow_study.git
git pull origin master --allow-unrelated-histories
git push -u origin master
本地仓库已经关联了远程仓库,再和心仓库关联时,会报fatal: remote origin already exists,此时要先取消关联
git remote rm origin
拉取远程分支到本地
git checkout -b 本地分支名 origin/远程分支名