git 工作区介绍
workspace
:工作区,就是平时存放项目代码的地方。Index/Stage
:暂存区,用于临时存放你的改动,事实上只是一个文件,保存即将提交到文件列表信息。Repository
:仓库区(或版本库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本。Remote
:远程仓库,托管代码的服务器,可以简单的认为是你项目组中一台电脑用于远程数据交换。
https://blog.csdn.net/xyzso1z/article/details/119009639
基础命令
git status
$ git status
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
deleted: .gitignore
new file: gateway/src/main/java/com/nufront/bigdata/collect/MysqlFlinkSQLcdc2Kafka.java
modified: pom.xml
new file: v2x/pom.xml
...
git add 添加至暂存区
### 将当前文件夹下文件提交至暂存区
git add .
git rm 删除暂存区文件
git rm --cached <文件路径>
只删除暂存区文件
git rm --f <文件路径>
删除暂存区文件及物理文件
$ git rm --cached xxxx.java
rm 'xxx.java'
清空暂存区
git commit
git commit -m '数据分流'
git remote 远程库
git remote -v
所有远程库
$ git remote -v
origin git@github.com:Olave/nufront-data-center.git (fetch)
origin git@github.com:Olave/nufront-data-center.git (push)
git remote show <远程别名>
添加远程库 git remote add <别名> <url>
删除远程库 git remote rm <别名>
删除远程库 git remote rename <旧别名> <新别名>
git push
fatal: The current branch master has no upstream branch.
分支
查看当前分支
$ git branch
* master
创建分支
git branch
git branch <分支名>
git branch -a
查看所有分支
$ git branch -a
* master
remotes/origin/master
git branch --set-upstream-to
本地关联远程分支
https://www.cnblogs.com/chenjo/p/14072152.html
使用git在本地新建一个分支后,需要做远程分支关联。如果没有关联,git会在下面的操作中提示你显示的添加关联。关联目的是在执行 git pull, git push 操作时就不需要指定对应的远程分支,你只要没有显示指定,git pull的时候,就会提示你。
git从master建立分支
切换分支
git checkout
git checkout <分支名>
git checkout -b <分支名>
创建新分支dev,并把当前master分支内容复制一份到新分支dev中
合并分支
git merge <目标分支>
将目标分支合并到当前分支下
- 将 master 合并到当前分支
git checkout xxx
### 在 xxx 分支下
git merge master
- 合并冲突
说明:只有已经 commit
的文件才会发生冲突,否则则是报:Your local changes to the following files would be overwritten by checkout:
查看提交记录
git log
$ git log
commit 3c896ed7a299c59d3d3426f0cb04e4440a66e541 (HEAD -> master, origin/master)
Author: chenkang <chenkang020@foxmail.com>
Date: Sat Nov 12 08:16:00 2022 +0800
数据分流
commit cbe0700b253b8fcfffa20a7925a6a859e7d09e20
Author: kang.chen <kang.chen@nufront.com>
Date: Wed Mar 23 18:59:27 2022 +0800
CDH 版本分流
commit ce3c9704985312e476467292f3b79fda70229b8b
Author: kang.chen <kang.chen@nufront.com>
Date: Wed Mar 23 18:59:02 2022 +0800
CDH 版本分流
git clean
git clean
会清除未被 tracked 的文件——未被添加进暂存区、未被commit 的文件
git reset
git reset
命令用于回退版本,可以指定退回某一次提交的版本
https://m.runoob.com/git/git-reset.html
—>>https://zhuanlan.zhihu.com/p/346993796
问题记录
https://zhuanlan.zhihu.com/p/478264832