Gitlab远程仓库实战-命令行&关联IDEA

354 阅读2分钟

Git命令窗口

0. gitlab绑定主机密钥

Win+X键 点击powershell选项卡后输入

PS C:\Users\Administrator> ssh-keygen

连续敲三次回车键后,打开C:\Users\Administrator(你自己的电脑用户)\.ssh\id_rsa.pub

CTRL+A全选复制后粘贴到

1. 初始化本地仓库

Administrator@DESKTOP-0K5E4BP MINGW64 /g/......./Code
$ mkdir GitlabProject

Administrator@DESKTOP-0K5E4BP MINGW64 /g/......./Code
$ cd GitlabProject/

Administrator@DESKTOP-0K5E4BP MINGW64 /g/......./Code/GitlabProject
$ git init
Initialized empty Git repository in G:...../Code/GitlabProject/.git/

Administrator@DESKTOP-0K5E4BP MINGW64 /g/工作/上海旭辉/Code/GitlabProject (master)
$

2. 关联本地仓库与远程Gitlab仓库

2.1 登录Gitlab网页端复制远程仓库地址

2.2 关联本地仓库与远程gitlab仓库

git remote add origin gitlab@10.129.47.3:wangxinxing/ysservice-spark-test.git

3. 拉取远程仓库内容

git clone gitlab@10.129.47.3:wangxinxing/ysservice-spark-test.git

4. 切换到开发分支

4.1 cd进入项目目录

4.2 git branch查看当前所在分支

4.3 git checkout 切换到开发分支

5. 代码推送至远程分支

5.1 上传代码至项目所在目录

5.2 添加暂存区&提交至提交区

Administrator@DESKTOP-0K5E4BP MINGW64 /g/工作/上海旭辉/Code/GitlabProject/ysservice-spark-test (DEVOP)
$ git add .

Administrator@DESKTOP-0K5E4BP MINGW64 /g/工作/上海旭辉/Code/GitlabProject/ysservice-spark-test (DEVOP)
$ git status


Administrator@DESKTOP-0K5E4BP MINGW64 /g/工作/上海旭辉/Code/GitlabProject/ysservice-spark-test (DEVOP)
$ git commit -m "我提交了一个Test文本"

5.3 如果出现误提交,执行回滚命令

5.3.1 在git中一共有三个区,分别是工作区,暂存区和提交区。其三者的对应关系是这样的:
  • 工作区
    • 工作区就是你正常的代码目录区域
  • 暂存区
    • 当在工作区执行git add .命令时,该区域所有代码会被提交至暂存区
  • 提交区
    • 当在暂存区执行git commit -m "提交备注"命令时暂存区内容会被推送至提交区。
5.3.2 从暂存区撤销到工作区示例
$ touch xh

$ git status
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        333.xtx
        xh

$ git add .

$ git status
On branch DEVOP
Your branch is ahead of 'origin/DEVOP' by 3 commits.
  (use "git push" to publish your local commits)

$ git restore --staged .	//把暂存区内容撤回到工作区

$ git status

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        333.xtx
        xh
5.3.3 [git reset]-把当前版本回退到上一个版本
  • 首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
  • 现在,我们要把当前版本回退到上一个版本,就可以使用git reset命令:[git reset --hard HEAD^]
  • 从旧版本回到新版本命令:[git reset --hard commit_id]
  • [git reflog]-查看命令历史,以便确定要回到未来的哪个版本。
5.3.4 [git checkout -- ]-丢弃工作区的修改
  • 文件在工作区的修改全部撤销,这里有两种情况:
    • 一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

    • 一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

    • 总之,就是让这个文件回到最近一次git commit或git add时的状态。

5.4 推送提交区所有commit内容至远程仓库的分支

Administrator@DESKTOP-0K5E4BP MINGW64 /g/工作/上海旭辉/Code/GitlabProject/ysservice-spark-test (DEVOP)
$ git push origin DEVOP

Enumerating objects: 10, done.
Counting objects: 100% (10/10), done.
Delta compression using up to 12 threads
Compressing objects: 100% (7/7), done.
Writing objects: 100% (8/8), 774 bytes | 774.00 KiB/s, done.
Total 8 (delta 3), reused 1 (delta 0), pack-reused 0
remote:
remote: To create a merge request for DEVOP, visit:
remote:   http://10.129.47.3:9090/wangxinxing/ysservice-spark-test/merge_requests/new?merge_request%5Bsource_branch%5D=DEVOP
remote:
To 10.129.47.3:wangxinxing/ysservice-spark-test.git
   a06b9b3..3d19cba  DEVOP -> DEVOP

6. Git常用命令手册

IDEA&Gitlab

注意:我自己使用的版本是IDEA 2020.3.2如果你是2020之前的版本,有些选项会跟我下面的选项卡位置略有不同,请细心寻找。

0. 关联Gitlab远程仓库

0.1 选择Get from VCS

0.2 关联对应远程仓库url后点击Clone

0.3 已有项目关联

1.0 远程仓库拉取

1.1 拉取远程仓库内容

1.2 选择开发分支

2.0 添加暂存区&提交

2.1 添加暂存区

2.2 提交

3.0 推送

4.0 其他问题

4.0Your local changes would be overwritten by merge.异常解决

由于本地内容与开发内容不一致,如果以本人代码为最终代码,请点击

后,再次尝试拉取。最后点击如下选项覆盖代码

4.1 切换分支