IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> git在团队合作中的常见使用 -> 正文阅读

[开发工具]git在团队合作中的常见使用

0. 将本地分支提交到(同名的)远程

如果想将本地分支提交到远程,需要明确远程的名称已经要push的分支的名称

""" 
语法格式
git push <remote> <branch>
"""

$ git push origin my-feature

结果如下,本地的my-feature提交到对应远程的my-feature
在这里插入图片描述

  • 如果本地还没有切换到要push的分支,可以执行git checkout <branch-name>来切换到你想要push的分支。
  • 如果要上传的分支(upstream branch,远程的/上游的分支)还没有建立,那么在push的时候需要加入-u参数来创建这个上游分支
    在这里插入图片描述
  • git push -u origin my-feature ,这句会在远程新建一个叫my-feature的分支,同时会把本地的内容上传到远程的my-feature分支中(和本地同名)

参考:?How To Push Git Branch To Remote


1. 将本地分支提交到远程的另一分支

# 加上-a参数可以看到这个项目目前所有的分支
# 本地现在的分支前面会有个*号
$ git branch -a
* huangs
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev
  remotes/origin/huangs

# add和commit都是常规操作
$ git add *
$ git commit -m "XXX"

# push要指明远程的名字,本地分支的名字,以及要上传的远程分支的名字
$ git push origin huangs:dev
.....
 b1c4c91..9ae0aa6  huangs -> dev

"""
语法格式
git push <remote> <local_branch>:<remote_name>
"""

注意,

  • 一般在push之前,要对远程分支和本地分支进行一下merge
  • 想进行merge,需要保证远程分支的tip(不知道这个词啥意思,?)不能位于要push的分支之后。
  • push之前,确保pull了所有远程分支的修改(changes),同时把这些修改整合到了当前的本地分支中
  • 在合并远程分支时,需要把本地分支和本地分支对应的远程分支进行合并
$ git pull

$ git checkout my-feature

$ git merge origin/feature

$ git push origin my-feature:feature

参考:

2. 将本地分支提交到另一个repo

"""
语法规则,需要明确远程repo的名字,及要上传的分支名
$ git push <remote> <branch>
"""

# 1. 查看当前repo里定义过的远程仓库
$ git remote -v

origin  https://github.com/user/repo.git (fetch)
origin  https://github.com/user/repo.git (push)
custom  https://github.com/user/custom.git (fetch)
custom  https://github.com/user/custom.git (push)

# 2. 确认远程名字后,远程名字+分支名(如果远程没有这个分支,记得加-u参数来创建)
$ git push custom my-feature


""
如果想要上传的remote还没有添加到本地,可以使用add来添加
详见 https://git-scm.com/docs/git-remote
""
$ git remote # 默认一开始只有origin这一个远程
origin
$ git branch -r
  origin/HEAD -> origin/master
  origin/master
$ git remote add staging git://git.kernel.org/.../gregkh/staging.git   # 添加一个远程
$ git remote  # 就有了两个远程
origin
staging

参考:

3. 撤销push的commit

如果不小心push错一个commit,可以按照如下方式进行回退(基本上都是本地先reset,然后再push到远程),但是有一个比较直接的方法,如下

"方法1,直接push上一次的commit"
git log #找到上一次commit的hashID
git push -f origin last_known_good_commit:branch_name

# 强制将huangs分支push到上一次的commit的内容
git push -f origin 3XXXX644e7afe5bXXXX7188483:huangs
# 执行完之后就可以看到gitlab/github上显示为上一次commit的内容了

"方法2,本地先reset,再push到远程"
$ git reflog # 找到你要reset的序号
4e212ca (HEAD -> master, origin/master, origin/HEAD) HEAD@{0}: commit: мой последний коммит
e12ea6d HEAD@{1}: reset: moving to HEAD^
132ae6f HEAD@{2}: commit: XXX
e43ea6d HEAD@{3}: commit: XXX
2234538 HEAD@{4}: pull: Fast-forward
89543c9 HEAD@{5}: commit: fix search 

git reset --hard HEAD~1  # 本地复位到序号对应的内容去
git push --force  # 远程强制执行push

参考:

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-05-19 12:01:55  更:2022-05-19 12:02:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 0:46:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码