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.
异常解决
由于本地内容与开发内容不一致,如果以本人代码为最终代码,请点击
后,再次尝试拉取。最后点击如下选项覆盖代码