ToB企服应用市场:ToB评测及商务社交产业平台
标题:
git全面详解,一文了解全程
[打印本页]
作者:
慢吞云雾缓吐愁
时间:
2024-11-22 01:08
标题:
git全面详解,一文了解全程
一、常见命令
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企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4