0


GitLab 及 Git 使用学习

GitLab 及 Git 使用学习

一、本地代码Git提交到GitLab中

1.初始化Git

$ mkdir git_repertory
$ cd git_repertory
$ git init

2.远程建立连接

$ git remote add origin http://git.XXX.cn/XXX/XXX/XXX.git

3.拉取远程分支

//拉取所有远程分支
$ git fetch --all
//拉取远程`master`分支
$ git fetch origin master

4.查看所有分支

$ git branch -al

5.Push 代码

生成密钥(pubilckey)

ssh-keygen

输入指令后一直点击回车,即可生成密钥(publickey)

在这里插入图片描述
在c盘用户路径下可以查看密钥:

C:\Users\用户名\.ssh

在这里插入图片描述

git init 
#设置新建文件夹为版本控制,初始化git config --global user.name “输入你的用户名”
git config --global user.email “输入你的邮箱”
git config --list 
#查看配置好的用户名和密码添加远程仓库,#由于本地 Git 仓库和 Gitlab 仓库之间的传输是通过SSH加密的,#所以我们需要配置验证信息
ssh-keygen -t rsa -C “刚才输入的邮箱”
#按回车,之后会要求确认路径和输入密码,我们这使用默认的一路回车就行,#会在C:\Users\lshel\.ssh会生成公钥和私钥文件cat ~/.ssh/id_rsa.pub
#查看私钥文件,不论你现在在c盘还是d盘都可以查看到

将id_rsa.pub中的内容复制到GitLab的SSH密钥对中,即可从GitLab上拉取或上传代码。

6.上传到其他分支

1.~~先同1.中的步骤~~ #这步可以省略2.git branch -a     #查看所有分支          3.git branch slave    #创建slave分支4.git checkout slave #切换到slave分支5.git remote add origin https://gitlab.com/helenls/sca_apitest01.git#关联远程仓库,添加后,远程库的名字就是 origin,这是 Git 默认的叫法,也可以改成别的6.git push origin slave:slave #本地分支(冒号前面的分支)与远程分支同名(冒号后面的分支)未创建分支。7.git push origin slave #上传分支,上传 到gitlab,slave为gitlab名字

7.删除分支

在Git中删除分支可以使用

git branch

命令配合

-D

-d

选项。以下是删除分支的几种常见方法:

7.1. 删除本地分支
如果你想要删除一个已经合并到主分支的本地分支,可以使用

-d

选项:

git branch -d branch_name

这里

branch_name

是你想要删除的分支名称。

7.2. 强制删除本地分支
如果分支有未合并的更改,Git 默认不允许删除,以防丢失更改。如果你确定要删除这个分支以及其所有更改,可以使用

-D

选项强制删除:

git branch -D branch_name

7.3. 删除远程分支
删除远程分支可以使用

git push

命令配合

--delete

选项:

git push origin --delete branch_name

这里

origin

是远程仓库的默认名称,

branch_name

是远程分支的名称。

7.4. 删除所有已合并的本地分支
如果你想删除所有已经合并到当前分支的本地分支,可以使用以下命令:

git branch --merged
git branch --merged | grep -v '^*' | xargs git branch -d

第一条命令会列出所有已经合并的分支,第二条命令会删除所有除了当前检出分支之外的已合并分支。

7.5. 删除所有未合并的本地分支
如果你想要删除所有未合并到当前分支的本地分支,可以使用以下命令:

git branch --no-merged
git branch --no-merged | xargs git branch -d

第一条命令列出所有未合并的分支,第二条命令删除它们。

删除分支是不可逆的操作,一旦执行了删除命令,就无法恢复被删除分支上的更改。因此,在执行删除操作之前,需要确保不再需要这个分支或其上面的更改。

问题 1 :当在 GitLab 的 web 删除远端分支后,本地代码仓库依旧显示存在已删除的远端分支,应该如何同步成最新分支结构?

当在Web界面上删除了远程分支,但本地仍然显示该远程分支时,可以通过以下来同步本地仓库,以删除那些已经不存在的远程分支记录:

  1. 首先,使用git fetch命令来获取远程仓库的最新状态。加上--prune选项可以同时删除本地不存在的远程分支跟踪信息:git fetch --prune或者简写为:git fetch -p
  2. 如果只想针对特定的远程仓库进行操作,比如origin,可以使用:git remote prune origin
  3. 执行上述命令后,可以使用git branch -a来查看所有本地分支和远程分支的列表,确认那些远程分支已经被删除。
  4. 如果想手动删除远程分支的跟踪信息,可以使用:git branch -r -d origin/<branch_name>这里<branch_name>是远程分支的名称。
  5. 如果在执行git fetchgit fetch --prune后遇到问题,比如提示某些分支不存在,可以通过git remote show origin查看远程分支和本地分支的对应关系,并根据提示使用git remote prune来同步删除本地的远程分支记录 。
  6. 另外,如果你在执行git branch -a后发现远程分支仍然显示,可以尝试使用git fetch origin --prune命令来确保本地分支记录与远程仓库保持同步 。
  7. 如果需要从远程仓库拉取最新的分支列表并同步到本地,可以使用:git fetch origin这将拉取远程origin的所有分支更新,但不会自动删除已经从远程删除的分支。对于已远程删除的分支,需要使用git remote prune origin来清理 。
  8. 如果在尝试删除远程分支时遇到错误提示,例如提示无法推送到未限定的目标,可以通过执行git fetch -p来同步分支列表,-p参数代表精简,将删除那些已经远程删除的分支 。
  9. 在某些情况下,如果远程分支被删除,本地分支列表中可能仍然会显示这些分支。使用git fetch -p可以更新本地分支列表,移除那些已经从远程仓库删除的分支 。

本文转载自: https://blog.csdn.net/qq_45789531/article/details/141129789
版权归原作者 Nerd Nirvana 所有, 如有侵权,请联系我们删除。

“GitLab 及 Git 使用学习”的评论:

还没有评论