论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
开源技术
›
开源技术
›
git全面详解,一文了解全程
git全面详解,一文了解全程
慢吞云雾缓吐愁
金牌会员
|
2024-11-22 01:08:41
|
显示全部楼层
|
阅读模式
楼主
主题
912
|
帖子
912
|
积分
2736
一、常见命令
1.git常用命令
HEAD 表示当前地点的分支节点
git rebase <branch> 将当前分支提交到branch分支上
Git checkout <branch>^ 切换到当前分支的最近一次提交的父提交
git checkout <branch>~n 切换到当前分支的最近n次提交的父提交
Git branch -f <branch1> <branch2> 将1分支强行指到2分支
Git reset <branch> 回退到某个分支
Git revert <branch(HEAD)> 将上述分支的之前提交作为新提交
二.留意事项
1. 流程
使用git init进行初始化,此时位于工作区(git clone也可以),git add进入暂存区,git commit进入堆栈,git push提交到远程堆栈,本项目中使用git commit -s -m "feat: Add feat xyz (ADOS-1)"
-s 表示添加署名
1. 初始化项目
创建一个GitLab堆栈,并将其克隆到当地:
git clone https://gitlab.com/yourusername/yourproject.git
2. 创建和切换分支
在当地创建一个新的分支以开始你的工作:
git checkout -b feature-name
开始在新分支上编写代码。
3. 提交更改
当你完成一部分工作后,提交更改到当地分支:
git add .
git commit -m "Add initial implementation of feature"
4. 拉取最新代码
在推送你的更改之前,确保从主分支拉取最新的代码:
git checkout main
git pull origin main
git checkout feature-name
5. 解决冲突(假如有的话)
假如有冲突,你需要手动解决这些冲突,然后再次提交更改。
6. 推送更改到远程分支
将你的更改推送到GitLab上的远程分支:
git push origin 当地分支名:远端分支名(若是名称同等可以直接用一个)
7. 创建合并请求(Merge Request, MR)
登录到GitLab,找到你的项目,选择“Merge Requests”。
点击“New Merge Request”,选择源分支(source branch)为你的功能分支,目标分支(target branch)通常为主分支或开发分支。
添加标题和描述,然后提交。
2.分支
方法一:
可以直接拉取该分支,名为branch1
git clone -b(--branch) name url
方法二:
git clone url
这样拉取时可以拉取整个main函数,然后切换到具体的分支
1.检查远程分支branch1是否已经存在当地。假如之前没有拉取过这个分支,你需要先将远程的branch1分支创建为一个新的当地分支:
该命令是在当地创建分支,并拉取分支
git checkout -b branch1 origin/branch1
2.假如branch1分支已经被之前拉取过并且已经作为一个当地分支存在,那么你可以直接切换到它:
git checkout branch1
分支合并,起首切换分支
再使用git merge <branch> 能合并分支
这种情况会合并分支并进行创建新版本
3.解决多人合作分支冲突
如有人先提交,则需要先git pull下来
会发现有修改的地方,此时进行修改后,重新进行push
(1)拉取远程branch1分支的最新更改
git fetch origin branch1
(2) 合并远程branch1分支到你的当地分支
git merge origin/branch1
在这个步调中,Git会实行自动合并两个分支。假如在同一个文件的相同位置有冲突,Git将无法自动解决这些冲突,并会停止合并过程,标记出冲突的文件。
(3) 检查冲突
当Git报告冲突时,它会在冲突的文件中插入特别的冲突标记。这些文件现在处于未合并状态,你可以在命令行中看到它们:
git status
(4) 解决冲突
手动编辑这些文件,删除冲突标记,并决定保留哪一方的更改,或者合并两边的更改。
git fetch origin git checkout branch1 git merge origin/branch1
一旦你解决了所有冲突,你需要使用git add命令来标记这些文件,告诉Git冲突已经被解决,并git merge , git commit,git push
若没有关联就git push origin branch进行关联
4.版本回退
git reset --hard 版本号
5.推送到分支
git push
三、问题的解决方案
Git log --graph
首次创建堆栈
Git init
Git add .
Git commit -m 'first commit'
Git remote add origin url (origin以后就对应url远程堆栈,相称于给远程堆栈起别名)
Git push -u origin master (推送当地master分支到url的master)
Git push -u origin dev(-u 就创建了链接)
回到家,clone下来
Git clone url (默认拉下来是master分支,但可以checkout到dev分支,这种情况默认是起别名origin)
Git checkout dev
改改改
Git push origin dev
在家开发了一半,到公司里要继续进行开发
Git pull origin dev(相称于fetch+merge,如有冲突进行打开合并)
每次只开发了一点,多次开发后需要进行合并
rebase变基
用法一:
Git rebase -i 版本号 (会将该版本号和之后的版本号进行合并)
Git rebase -i HEAD~3 (从当前HEAD开始找最近的三条记载进行合并)
用法二:
Git rebase 分支名称
用法三:
Git fetch origin dev
Git rebase origin/dev 防止合并分叉
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
慢吞云雾缓吐愁
金牌会员
这个人很懒什么都没写!
楼主热帖
聊聊 C# 方法重载的底层玩法 ...
使用 Mypy 检查 30 万行 Python 代码, ...
Linux安装PHP8 新版笔记
微信公众平台测试号申请、使用HBuilder ...
【只与自己有关】人往高处走?何为高? ...
WPF 视频硬解码渲染播放(无空域问题) ...
Blazor WebAssembly + Grpc Web = 未来 ...
快速成长的秘诀|如何实现自我认知升级 ...
Java多线程(7):JUC(上)
Mybatis基础知识大全!!!
标签云
存储
挺好的
服务器
快速回复
返回顶部
返回列表