大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
查看远程所有分支
$ git branch -a
创建分支
git branch [branchname]
需要注意,创建分支时,不会有什么提示。
新建分支并切换到指定分支
git checkout -b master origin/master
git checkout -b 本地分支名 origin/远程分支名
使用上面的命令可以创建分支名并且关联到远程的分支,但是远程分支存在git push多次,发现关联分支的本地代码不是最新的,只需要在git pull 后面添加origin master 就能获取最新代码。
拉取远程分支代码
$ git pull origin master
From github.com:xxxx@gamil.com/xxxxx
* branch master -> FETCH_HEAD
Already up to date.
删除本地分支
删除本地已合并的分支:
$ git branch -d [branchname]
某些情况下可以用
$ git branch -D [branchName] (使用时应注意是否已合并)
删除远程分支
$ git push origin --delete [branchname]
提示删除了一个名为 201804019-test-files 的分支,
注意: 在删除远程分支时,同名的本地分支并不会被删除,所以还需要单独删除本地同名分支
如果发生以下错误:
error: unable to delete ‘origin/xxxxxxxx-fixbug’: remote ref does not exist
error: failed to push some refs to ‘git@github.com:xxxxxxxx/xxxxxxxxxx.git’
解决办法: git checkout xxxxx-fixbug 切换到当前分支上, 然后再 进行 git push –delete origin origin/xxxxx-fixbug
此时将不会再发生错误 。
查看本地分支及追踪的分支
$ git branch -vv
* dev e67e3ef [origin/release/caigou_v1.0] 供应商详情页面
master 11160c2 [origin/master: behind 5] Merge branch 'master' of https://git.jointforce.com/scm/join/yj-stat
*表示当前所在分支,[远程分支]表示当前本地分支追踪的远程分支,最后一个是最近一次提交的注释。
将本地分支推送到远程
$ git push -u origin dev:release/caigou_v1.0
git push <远程主机名> <本地分支名>:<远程分支名>
成功后显示如下:
Counting objects: 8, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (8/8), done.
Writing objects: 100% (8/8), 754 bytes | 754.00 KiB/s, done.
Total 8 (delta 6), reused 0 (delta 0)
remote:
remote: Create pull request for release/caigou_v1.0:
remote: https://git.jointforce.com/projects/JOIN/repos/yj-stat/compare/commits?sourceBranch=refs/heads/release/caigou_v1.0
remote:
To https://git.jointforce.com/scm/join/yj-stat.git
a22ed65..e8782b2 dev -> release/caigou_v1.0
Branch 'dev' set up to track remote branch 'release/caigou_v1.0' from 'origin'.
上述命令表示将本地dev分支推送到远程release/caigou_v1.0分支。
Git冲突
1、stash
通常遇到一个问题就是本地仓库你可以直接commit你的修改,但是我这次不想commit,而又想获取远程仓库的最新代码。看看git stash是如何做的。
git stash
git pull
git stash pop
接下来diff一下此文件看看自动合并的情况,并作出相应修改。
git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。
git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。
git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。
git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。
2、放弃这一次本地仓库的修改,直接覆盖之
git reset --hard
git pull
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/191149.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...