git常用操作

打tag

git tag -a "tagxxx" -m "messagexxx"
git push origin tagxxx

克隆仓库到本地

git clone xxx

克隆仓库分支到本地

git checkout -b 分支名 origin/分支名

查看git所处分支

git status

查看git远程仓库地址

git remote -v

在已有的项目中新增.gitignore文件

1)本地工作区是远程仓库最新版,暂存区内没有东西

  1. 打开git bash,切换到工作区目录
    3)在本地项目目录下清除缓存
git rm -r --cached .

4)touch .gitignore


image.png

5)记事本打开进行编辑
网上有很多gitignore模板
6)git add .
7)git commit -m "add ignore"

  1. git push

保持分支和master最新代码一样

修改注释

git commit --amend

撤销工作区修改

git checkout []

eg. git checkout .

撤销暂存区修改

git reset []

备份当前代码内容,应用场景:放下手头上的工作,要去看仓库中的代码,不用重新新建文件夹等复杂操作了

git stash  # 备份当前的工作区的内容,保存到Git栈中
git pull
git stash pop. # 从Git栈中读取最近一次保存的内容

查看备份列表

git stash list

撤销分支

git reset --soft HEAD^

分支操作

1)创建并切换到新分支

git checkout -b panda

2)查看分支

git branch
  1. 切换到基础分支,如主干
git checkout master

4)更新分支代码并提交

git add .
git commit -m "init panda"
git push origin XXX分支名

Q1:old mode 100644 new mode 100755 的提示
中间进行过chmod操作,和代码本身没有关系

git config --add core.filemode false

Q2:# Your branch is ahead of 'origin/master' by 1 commit.
就是本地仓库有一个提交,比远程仓库要先进一个commit。git push origin master之后,再用git staus

Q3: error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413 Request Entity Too Large
fatal: The remote end hung up unexpectedly

分支合并到主干

在主干下,按照以下步骤运行
(1)在主干master上合并分支branch

 (master) git merge branch --squash

--squash 选项的含义是:不提交。效果:分支的commit历史不重要,不会把分支的历史合并到主干上。把分支不同于master分支的所有文件罗列出来(无论有几个提交)
?如果不加--squash就会合并历史?
(2)提交合并后的代码

 (master) git commit -m "合并分支代码"

(3)将代码推送到远程仓库

 (master) git push

主干合并到分支

在分支下执行以下步骤:
(1)在分支branch上合并主干master

 (branch) git merge master --squash

(2)提交合并后的代码

 (branch) git commit -m "合并主干代码"

(3)将代码推送到远程仓库

 (branch) git push

协作开发遇到的问题

  1. 场景:
    主干1 => 分支1
    ->主干改2 -> 分支改2
  • A从主干1拉了分支1,做修改,变成了分支改2
    主干1被人在主干上修改,变成了主干改2
  • 现在A想将分支改2合并到主干改2中去,怎么办?

解决方法:
1.将主干的修改合并到分支1及其以后的commit中去
效果:分支1是从主干改2拉出去的,而不是从主干1

git rebase master

ps: rebase和merge的区别:https://blog.csdn.net/qq_41047322/article/details/81584437
如果在其中发现冲突(主干改2和分支改2同时修改了b文件),则解决冲突:

  • 手动解决冲突,解决完后,和主干改2和分支改2都不一样:
git add .
git rebase --continue
  • 以分支中的修改为准,解决完后,其实就是分支中的内容,那可skip
git rebase --skip
  • 放弃rebase
git rebase --abort

2.将rebase后的分支,force push到远程仓库(为什么是force push?因为)

git push -u origin 分支1 -f

3.切换到主干,将分支的改动合并到主干:参见上面

1个分支替换另一分支的内容

切换到分支

git checkout 分支

再将本地的分支重置成master

git reset --hard master

最后推送到远程仓库分支

git push origin 分支 --force

本地关联远程分支:
git branch --set-upstream 本地关联远程分支

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,544评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,430评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,764评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,193评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,216评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,182评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,063评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,917评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,329评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,543评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,722评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,425评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,019评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,671评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,825评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,729评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,614评论 2 353