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. 初始化项目


   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. 推送更改到远程分支


   git push origin 当地分支名:远端分支名(若是名称同等可以直接用一个)
  7. 创建合并请求(Merge Request, MR)


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