切换远程分支
-
git branch -a // 查看本地和远程所有分支
-
git checkout -b dev origin/caigou_v1.0 //新建分支并切换到指定分支,
该命令可以将远程git仓库里的指定分支拉取到本地,这样就在本地新建了一个dev分支,
并和指定的远程分支release/caigou_v1.0关联了起来。
dev为本地分支名,caigou_v1.0为远程分支名,下同。 -
git push -u origin dev:caigou_v1.0
将本地分支推送到远程远程分支 -
git branch -d new
删除本地分支 -
git push origin --delete dev
删除远程分支 -
把master分支代码合并到dev分支
git checkout dev
git merge master
7 把master分支代码合并到自己的分支
7.1 首先切换到主分支
git checkout master
7.2 使用git pull 把领先的主分支代码pull下来
git pull
7.3 切换到自己的分支
git checkout xxx(自己的分支)
7.4 把主分支的代码merge到自己的分支
git merge master
7.5 git push推上去ok完成,现在 你自己分支的代码就和主分支的代码一样了
git push
-
创建分支
如果我们需要在现有的分支代码基础上,复制代码到新分支进行开发,并推送至远程仓库,可以进行如下操作:注:被复制的分支代码(ibis35),创建新的分支(ibis35-dev)
8.1. 通过git bash,切换到被copy的分支(ibis35),并且从远端拉取最新版本
$ git checkout ibis35
$ git pull8.2. 从当前分支拉copy开发分支
$ git checkout -b ibis35-dev8.3. 把新建的分支push到远端
$git push origin ibis35-dev8.4. 拉取远端分支
$ git pull (经过验证,当前的分支并没有和本地分支关联,根据提示进行下一步)8.5. 关联
$ git branch --set-upstream-to=origin/ibis35-dev8.6. 再次拉取 验证
$ git pull -
合并远程的一个分支到另一个分支
git checkout 被合并的分支名
git merge origin/需要合并的分支名
git push
10 更改本地和远程分支的名称
git branch -m old_branch new_branch # Rename branch locally
git push origin :old_branch # Delete the old branch
git push --set-upstream origin new_branch # Push the new branch, set local branch to track the new remote
11 远程分支被删除后还可以查看到的解决办法
git branch -r //查看远程分支
git remote show origin
git remote prune origin
git branch -r
12 切换到远程但本地不存在的分支
git checkout -b release origin/release-9.4
13 修改分支名称
假设分支名称为oldName
想要修改为 newName
1. 本地分支重命名(还没有推送到远程)
git branch -m oldName newName
2. 远程分支重命名 (已经推送远程-假设本地分支和远程对应分支名称相同)
a. 重命名远程分支对应的本地分支
git branch -m oldName newName
b. 删除远程分支
git push --delete origin oldName
c. 上传新命名的本地分支
git push origin newName
d.把修改后的本地分支与远程分支关联
git branch --set-upstream-to origin/newName
14 git将远程分支回归到指定版本
git checkout test-release
这个test-release就是需要被配置的分支,它对应的远程就是origin/test-release
git reset --hard xxx
这是将当前branch重置到xxx的commit点, --hard是重置是丢弃xxx之前的所有代码变化
git push --force
这里就很简单了,强制把本地重置好的推给远程,此时的origin/test-release就和本地保持一致了。
git checkout test-release
git reset --hard origin/test-release
这步就是其他同事把自己本地test-release重置到与origin/test-release一致,
注意--hard参数会丢弃超过origin的所有commit,如果不想丢弃可以用 --mixed 或 --soft 具体用哪个自行研究吧
15 查看本地分支与远程分支的关联信息:通过下述三条命令均可
1) git branch -vv
2) git remote show origin
3) cat .git/config
16 初始化Git仓库
首先我们选定一个目录作为Git仓库,假定是/home/gitrepo/runoob.git,在/home/gitrepo目录下输入命令:
$ cd /home
$ mkdir gitrepo
$ chown git:git gitrepo/
$ cd gitrepo
$ git init --bare runoob.git
Initialized empty Git repository in /home/gitrepo/runoob.git/
以上命令Git创建一个空仓库,服务器上的Git仓库通常都以.git结尾。然后,把仓库所属用户改为git:
$ chown -R git:git runoob.git
17 更新时缓存本地修改过的文件
git stash
git pull
git stash pop