1、查看隐藏文件夹(.git)
(1) command + shift + .
(2)终端输入:
defaults write com.apple.finder AppleShowAllFiles TRUE(FALSE隐藏)
killall Finder
2、git config -l查看已经配置的信息
3、cd /Users/liuhuitang/Desktop/tt 进入到指定目录,git init初始化一个本地git
4、git status查看仓库中文件的状态
5、在tt的文件夹里面新建文件之后,add admin.txt将文件添加到暂存区
6、git commit - m "新增加一个文件",将当前暂存区的文件提交到本地仓库
7、git log查看日志
8、git log --pretty=short查看日志(无时间)
9、git log admin.txt查看具体的某个日志
10、git log -p admin.txt 查看提交时文件的变化(不能查看已经删除的 commit 的日志)
11、小张把分支合并到主干
11、git reflog
显示整个本地仓库的 commit , 包括所有 branch 的 commit,甚至包括已经撤销的 commit , 只要 HEAD 发生了变化, 就会在 reflog 里面看得到,而 git log 只显示当前分支的 commit ,并且不显示删除掉的 commit
例如:
举个例子:下班了,我发现今天下午提交的代码全都是有问题的,于是做了一个版本回退,回退到今天早上的状态,然后关机回家,第二天来了后我发现搞错了,其实那些代码都是 OK 的,于是我又想让仓库版本前进到昨天下午的状态,却发现 git log 命令查看不到昨天下午提交的版本号
12、git dif查看工作区和暂存区的区别以及工作区和最新提交的差别
13、git diff HEAD 查看工作区和本地仓库的区别以及工作区和最新提交的差别
14、撤销代码
(1)git checkout xx.txt 撤销工作区的代码修改
(2)git reset head 、git checkout add 到暂存区的代码想撤销
15、提交到本地仓库的代码想撤销
git log 查看日志
(1)git reset --hard HEAD^^ 向前回退两个版本
(2)git reset --hard HEAD~1 回到上一个版本
(3)git reset --hard 695ce1fe 通过版本号 来进行回退(前5六位就可以)
16、git branch 查看分支
17、git checkout <分支名> 切换分支
18、创建分支
(1)git branch <分支名>
(2)git checkout -b <分支名> 创建分支并切换分支
19、分支合并
git merge --no-ff <分支名> (必须在main主分支下)
20、在主分支下删除这些,然后重新提交
21、本地上传到gitee(SSH方式(ssh就一次的))(多)
(1)新建仓库,名字和项目名一样
(2)进入当前文件夹 cd ,并初始化本地仓库
git init
git add ./*都可以
git commit -m "23-01-27"。#引号里为提交备注,比如我这里表示上传日期
(3)连接gitee
git remote add origin git@gitee.com:little-liu-hui/tttt.git
(4)push上去
git push -u origin "main"
22、本地上传到gitee(Https方式)
(1)新建仓库,名字和项目名一样
(2)进入当前文件夹 cd,并初始化本地仓库
git init
git add .
git commit -m "23-01-27"。#引号里为提交备注,比如我这里表示上传日期
(3)连接
git remote add origin https://gitee.com/little-liu-hui/test04.git
(5)push上去
git push -u origin "main"
(6)输入账号密码 178...
23、git --version 查看git版本
24、gitee出现报错,git@gitee.com: Permission denied (publickey). fatal: Could not read from remote repository
(1)重新生成ssh
ssh-keygen -t rsa -C “1359983922@qq.com”
(2)查看你生成的公钥(复制),粘贴到gitee
cat ~/.ssh/id_rsa.pub
(3)终端输入ssh -T git@gitee.com
(4)搞定
(5)传git remote add origin git@gitee.com:little-liu-hui/tttt.git
git push -u origin "main"
25、在idea中进行配置
26、从gitee上下载代码:(手动进行克隆 git clone 地址)
选好新文件夹之后再git init
git clone [ git@gitee.com:little-liu-hui/test.git] 里面是地址
27、update是为了保持跟你同一个分支的人的代码不会消失,pull是为了从别的分支pull内容过来
28、合并就是先切换到目标分支,然后调集被合并分支选择合并就可以了
29、c1写好三行内容然后commit+put上去,c2写同样的三行然后先commit在put上去,报冲突,解决冲突一般选merge,然后中间就是需要解决的问题,之后上传就可以了
30、git里面去把自己的分支转到主分支
(1)次分支里面写好内容(有多人的情况下先update下来),写好之后上传到本地分支(也可再一步到位上传到gitee),
(2)然后切换到主分支(有多人的情况下先update下来),先提交到本地分支,然后去合并,解决冲突一般选merge,然后中间就是需要解决的问题,
(3)上传到gitee
(4)另一个分支只需要 去pull就行了
31、没commit的话,会切换之后会消失
32、拉取代码
(1)通过URL地址(在gitee的仓库管理那里)
(2)本地快速拉取
(3)通过密钥
33、上传代码(插件版)(多)
(1)Setting那里配置好Git
(2)登录gitee
(3)找到VCS
(4)创建仓库(命名+描述)
(5)上传(不要上传.idea和target缓存文件)
(6)正常的update commit push
33、分支上传、合并代码
在idea里面新增了分支(dev-member-20231230)之后,写好之后先commit,在自己的div里面deBug通了之后就 push,他就会在远程新建一个dev-member-20231230分支,最后合并到main就可以了
详细步骤
(1)在idea里面新建分支
(2)取名字(dev-xxx-20231230)
(3)切换到自己的分支进行代码测试
注意:此时远程还没有你的分支
(4)提交代码不用update因为是自己在用,多人用你这个dev分支就需要先update,
本地测试没问题之后就直接commit 然后push,
远程就有了自己的分支
(5)此时去到gitee会发现有了自己的分支
(6)合并代码到主分支
1)切换到本地的主分支
此时会发现主分支还没有我们写的代码
(7)切换到本地主分支之后,点击自己的分支然后合并
这是本地main主分支也有了刚刚新增的内容
(8)主分支push到远程的主分支(可以看到他提示你需要push)
(9)完活
34、一定要切换到div或者hot分支去提交代码,master(main)是用来合并代码的
35、取消新建的时候的提醒
36、可以多次commit然后一次push
37、拉代码(少用,就update就好了)
38、git工作流程
39、git使用情景
组长小袁,小张组员
小袁修改了部分源码,提交到远程仓库 | Add -> Commit -> Push。(一般不能提交到master) |
如果小张从远程仓库获取小袁的提交 | 获取更新有两个命令:Fetch和Pull,Fetch是从远程仓库下载文件到本地的origin/master,然后可以手动对比修改决定是否合并到本地的master库。Push则是直接下载并合并。如果各成员在工作中都执行修改前先更新的规范,则可以直接使用Pull方式以简化操作。 |
小袁把分支提交到远程Git仓库 | 切换到新建的分支,使用Push功能 |
小张获取小袁提交的分支 | 使用Pull功能打开更新窗口,点击Remote栏后面的刷新按钮,会在Branches to merge栏中刷新出新的分支。这里并不想做合并,所以不要选中任何分支,直接点击Pull按钮完成操作 更新后,再点击右下角,可以看到在Remote Branches区已经有了新的分支,点击后在弹出的子菜单中选择Checkout as new local branch,在本地仓库中创建该分支。完成后在Local Branches区也会出现该分支的选项,可以按上面的方法,点击后选择Checkout切换 |
小张把分支合并到主干 | 新功能开发完成,体验很好,项目组决定把该功能合并到主干上。 切换到master分支,选择Merge Changes |
小袁把分支提交到远程Git仓库 | 选择New Branch并输入一个分支的名称(注意,这里创建的分支仅仅在本地仓库,如果想让组长小张获取到这个分支,还需要提交到远程仓库, 切换到新建的分支,使用Push功能 |
注意:update只是在本分支的操作
1
2
3
4、
40、update和pull的区别
1、git pull 和 git update : 都具有合并代码的功能。
2、git pull : 始终以本地版本为HEAD ,当前版本。
3、git update : 是以提交记录为基准,若远程仓库版本高于本地,则以远程仓库为HEAD 当前版本 ; 反之,本地高于远程,以本地为HEAD ,这个和 git pull 一致。
4、git update,在处理完合并代码后,还需要 进行一次 update,才能 push。
5、git pull:处理完合并代码后,无需再次pull,直接push即可