git上传下载分支代码记录

git使用记录

下载分支develop代码

git clone -b develop [git地址]

下载主分支和develop分支的代码

1. git clone [git地址]
2. cd 到git下来的master目录
3. git branch -r 查看分支,没有切换目录的话这一步会出错
4. git clone -b develop [git地址]

下载某一tag的代码

git clone --branch [tag] [git地址]
或者
git clone [git地址]
git checkout tags/<tag_name>

上传到develop分支

方法一 本地下载下来的就是存在有该分支的
1. cd 切换到该分支下的目录,git checkout查看是否是否与所需分支一致
2. git add.
3. git commit -m "v1"
4. git push origin develop
方法二 本地下载下的只有master
1. 本地新建分支,与远程分支同名 git branch develop
2. 切换本地分支 git checkout develop 
3. git add.
4. git commit -m "v1"
5. git push origin develop

从远程拉去更新代码,与本地融合

获取最新版本 有两种 拉取 和 获取 pull 和 fetch

git pull 从远程拉取最新版本 到本地 自动合并 merge git pull origin master

git fetch 从远程获取最新版本 到本地 不会自动合并
注意:不建议使用pull拉取最新代码,因为pull拉取下来后会自动和本地分支合并

git fetch origin master:temp #从远程仓库的master分支下载到本地master并新建一个temp分支
git diff temp #查看区别 最好确认一下修改再合并

git merge temp
git branch -d temp #删除临时分支



#尽量不要直接用这个
git pull origin/master


解冲突

由于本地的代码也修改了,远程的代码也修改了,合并的时候会出现冲突,解决冲突的办法:

  1. 全局搜索<<<解决冲突 ,比较暴力,修改多的时候比较麻烦,但是放心

其他

git log    // 查看提交历史 
git branch -D develop	//删除develop分支,删除前先切换到Master分支上

子模块

git部署过程


#克隆主仓库,在克隆主仓库后,可以运行以下命令来初始化和更新子模块,执行完这一步就拉取到子模块代码:
git clone [url]
git submodule init
git submodule update

#修改子模块,分为两种情况
1. 在父模块仓库修改子模块,一旦在子模块修改,如果没有其他分支,子模块仓库会产生一个临时的分离头,所以需要先建立分支进行保存再提交
cd [submodule]
git branch local	#新建local分支,分离头会自动合入该分支,后续修改就会自动在所选的分支
git checkout main	#切换到主分支
git merge local	#合并local到主分支

git status		#可以看到已经修改
git add .
git commit -m "test"
git push origin main   #提交到主分支更改

cd ..
git submodule update --remote	#然后需要更新父模块的指向
git add .
git commit -m "test"
git push   #提交到主分支更改

2.在子模块仓库进行了修改,需要同步子模块的修改:
git submodule update --remote
然后执行
git add .
git commit -m "Modify submodule"
git push #更新父模块

个人建立仓库注意

#git添加子模块
git submodule add <子仓库1的URL> <子仓库1的目录路径>

#提交更改:在主仓库的根目录下运行以下命令来提交子模块的更改:
git commit -m "Add submodules"

#第一次构建需要修改分支指向,git submodule update --remote默认分支是master,但gitlab默认是main
打开父仓库的 .gitmodules 文件,在每个模块下添加 branch = main,类似
[submodule "colmap"]
    path = colmap
    url = https://github.com/example/colmap.git
    branch = main
如果已经初始化,可能需要重新初始化
git submodule deinit --all
git submodule init
git submodule update --remote

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值