git全面详解,一文了解全程

打印 上一主题 下一主题

主题 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 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

慢吞云雾缓吐愁

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表