通过git从gitlab上拉取代码并关联项目

1.在本地新建一文件夹用来存放项目代码 (和远端项目同名)

2.进入该文件,右键选择 git bash here,打开命令窗后,输入初始化命令:git init

3.命令行:git remote add origin 后面是项目所在远程仓库地址(不是远程分支名称,而是仓库地址)

4.拉取远程分支到本地:git fetch origin dev(dev是你要拉取的远程分支名称)

5.在本地创建dev分支并且切换到该分支:git checkout -b dev(本地分支名称)

6.拉取分支到本地:git pull origin dev(远程分支名称)

另外其他一些指令,是学习后总结的一些可能会用到的内容,在分享一个学习网站,git小游戏Learn Git Branching

#git

git rebase和merge的区别:git rebase会改变总的提交进程,会合并掉,中间一系列的合并看不到过程,篡改历史,全部把提交记录合并到一个总线;git merge 可以看到中间详细不同分支的合并过程,不按照时间顺序,且会生成一个新提交

git rebase 分支A 说明:将当前的分支合并到,并按照时间顺序排列commit,在远程端不适合使用rebase,除非只在自己个人的分支上,适合使用,因为rebase会改变远程的提交基线,如果别人先clone下来,后续基线发生变化,又要重新合并

git rebase -i main #界面化可以省略掉中间的提交

git rebase 分支A 分支B 说明:将分支B变基到分支A的最新版本上,如果是分支B留空则是将当前分支变基到分支A的最新版本上

git cherry-pick C4 C5 C6 #可以单独取几个分支来合并

git commit --amend #修改commit,会改变commitid

git branch -f 分支A 分支B 说明:将分支A指向分支B

git tag v1 main~2 说明:将分支main的前面两个分支标注v1

git rebase适用场合:1.不能在和别人共享的分支上使用rebase,否则如果改掉基线,commitid会改变,导致别人本地的基线冲突;2.可以用在很久没有更新的本地代码上

git pull = git fetch + merge FETCH_HEAD

git pull --rebase = git fetch + git rebase FETCH_HEAD

ls -a #显示隐藏的。git文件夹

在~/.gitconfig文件中配置如下参数[alias]:

l0 = log --color --graph --decorate --pretty=oneline --abbrev-commit --date-order

l1 = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%ci) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative

l2 = log --all --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%ci) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative

l3 = log --graph --pretty=format:'%h -%d %s (%ci) <%an>' --abbrev-commit --date=relative

git push -u origin likx_test #可以重新指定与远程同名的分支(推荐这种方式,执行之后以后就可以git push了)

git remote prune origin #git清除本地有远端没有的分支

情况一:未使用 git add 缓存代码时:

// 放弃单个文件修改,注意不要忘记中间的"--",不写就成了检出分支了!

git checkout -- filepathname

// 放弃所有的文件修改

git checkout .  

情况二:已经使用了 git add 缓存了代码:

可以使用 git reset HEAD filepathname (比如: git reset HEAD readme.md)来放弃指定文件的缓存,放弃所有的缓存可以使用 git reset HEAD . 命令。

此命令用来清除 git 对于文件修改的缓存。相当于撤销 git add 命令所在的工作。在使用本命令后,本地的修改并不会消失,而是回到了如(一)所示的状态。继续用(一)中的操作,就可以放弃本地的修改

情况三:已经用 git commit 提交了代码:

可以使用git reset HEAD^,不删除工作空间提交的代码,撤销 commit,并且撤销 git add . 操作。

注意:-mixed 为默认参数。git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。

git reset --soft HEAD^,不删除工作空间提交的代码,撤销 commit,但不撤销 git add . 操作。

注意:就是说仅仅是撤回提交,修改的代码仍然保留在本地仓库。

git reset --hard HEAD^

删除工作空间提交的代码,撤销 commit,并且撤销 git add . 操作。

注意:就是说即撤回后,本地提交的代码也不保留。就等于恢复到了上一次的 commit 状态。

你可以使用 **git log **命令来查看git的提交历史。git log 的输出如下,之一这里可以看到第一行就是 commitid

撤销 git reset --hard HEAD~1

方法一:

1.先通过git reflog找到上一次的历史提交记录id,git如果没有特意设置,是会保存记录一段时间的(a few days or a month)

2.git reset --hard [id]

方法二:

git reset --hard HEAD@{1} 直接回到刚才的那个结点,{}中表示的是结点的序号

git clone 后,会分离出项目的文件。

误删除了,可以使用以下命令恢复:

#先检查一下git状态

git status

#通过如下命令重新分离出文件

git checkout -f HEAD

### 如何在IntelliJ IDEA中从GitLab仓库取代 为了成功地从GitLab仓库取代到IntelliJ IDEA环境中,需遵循一系列特定的操作流程。操作前应确认已安装配置好必要的工具和服务。 #### 配置SSH密钥 确保本地计算机与GitLab服务器之间的安全连接至关重要。这通常涉及创建一对SSH密钥,将公钥添加至个人的GitLab账户设置内[^1]。此过程不仅简化了身份验证步骤,还增强了安全性。 #### 使用Token进行认证 对于某些较新的IntelliJ IDEA版本,默认集成了GitLab插件支持,在执行更新项目(Update Project)动作时会提示输入访问令牌(Token)[^2]。这是因为直接利用用户名密的方式逐渐被淘汰,转而采用更安全可靠的OAuth Tokens作为替代方案来进行API调用和资源获。 #### 开始取代 当一切准备就绪之后,可以通过如下路径启动克隆远程库的工作流: - 打开现有工程或新建空白工作区; - 寻找菜单栏中的`File`选项卡; - 下列表里找到`New`下的子项`Project from Version Control...`; - 接着选择协议方式为`Git`, 粘贴目标项目的HTTPS/SSH URL地址[^3]; 此时如果之前已经完成了SSH Key绑定,则可以直接跳过后续的身份校验环节;反之则可能需要进一步提供先前提到过的Personal Access Token用于授权请求。 ```bash # 如果使用的是命令行形式的话可以这样写: git clone git@your.gitlab.server.com:username/repository-name.git ``` 上述指令适用于具备有效SSH key配对的情况,其中`git@your.gitlab.server.com:`部分应当替换成为实际托管服务提供商所指定的内容。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值