Git总结
本地库
-
初始化本地库 git init
-
设置用户签名
- git config --global user.name 用户名
- git config --global user.email邮箱
- 设置global属性的意思是为所有仓库设置名字和地址
-
查看当前用户名 git config user.name
-
查看当前登录邮箱 git config user.email
-
查看本地库的状态 git status
-
暂存区操作
- 添加文件到暂存区 git add 文件名
- 删除暂存区的文件 git rm --cached 文件名
- 将暂存区的文件提交到本地库 git commit -m “日志信息” 文件名
-
查看版本信息
- 查看版本详细信息 git log
- 查看版本信息 git reflog
- 版本穿梭 git reset --hard 版本号
-
误删文件操作
-
将文件已经提交到本地库但是误把文件删除可以通过 git restore a.txt恢复文件
-
如果该文件误被删除,而且删除过以后又执行了一次则git resotre.txt不能恢复该文件
git reset --hard call905 回退到以前的版本
-
-
分支命令
-
git branch 分支名 创建分支
-
git branch -v 查看分支
-
git checkout 分支名 切换分支
-
git merge 分支名 合并分支
-
删除分支
- git branch --delete dev 在使用–delete删除分支时,该分支必须完全和它的上游分支merge完成,如果没有上游分支,必须要和HEAD完成merge
- git branch -D dev -D是-delete --force 的缩写,这样可以在不检查merge情况下删除分支–force简写 -f,作用是将当前branch重置到初始点(startpoint),如果不使用–force的话,git 分支无法修改一个已经存在的分支
-
-
合并分支重突
合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改,git无法替我们决定使用哪一个。必须人为决定新代码的内容 注意:合并分支之后修改你合并的分支不会修改合并过来的分支,合并后需要再把修改之后的文件提交到本地仓库,注意此时使用git commit 命令时不能带文件名
git commit -m “merge 合并的分支”
2.远程库
- 查看当前所有远程库地址别名 git remote -v
- 给远程仓库其别名 git remote add 别名 远程地址
- 推送本地分支上的内容到远程库 git push 别名 分支
- 将远程仓库的内容克隆到本地 git clone 远程地址
- 将远程仓库对于分支最新内容拉下来后与当前本地分支直接合并 git pull 远程仓库地址别名 远程分支名
3.idea集成git
-
idea集成git
-
先配置忽略文件
-
在idea中配置setting中配置git的位置
-
vcs中import into version control 选择create git repository
-
-
添加到暂存区 :右键点击项目 选择 git -add将项目添加到暂存区
-
提价到本地库 :右键点击项目选择git -commit 将项目提交到本地库
-
切换版本号
-
在idea左下角点击version control 然后点击Log查看版本
-
右键选择要切换的版本,然后在菜单里点击checkoutRevision
-
-
创建分支
-
选择git ,在repository里面点击Branches按钮
-
在弹出的gitBranches框里,点击new Branch
-
选择分支名创建分支
-
在idea的右下角看到创建的分支名,说名分支创建成功,并且当前已经切换到创建的分支
-
-
切换分支
-
在idea窗口的右下脚,切换到master分支
-
在右下角看到master,说经master分支切换成功
-
-
合并分支
-
在idea窗口的右下角,将hot-fix分支合并到当前master分支
-
如果代码没有重突,分支直接合并成功,分支合并成功后,代码自动提交,无需手动提交本地库
-
-
解决分支重突
- 如果master分支和hot-fix分支都修改了代码,在合并分支的时候,就会发生冲突
- 点击conflicts框里的Merge按钮,进行手动合并分支
- 代码冲突解决,自动提交本地库
-
解决头指针分离状态
-
在提交git时,报告状态The Git repository at the following path is detached HEAD state,即Git 头指针分离状态。
-
解决
- 通过git status 命令查看是否在头指针分离状态
-
确定后可以给这个分离的头指针,创建一个分支,然后将这个分支合并到master中,最后在删除这个临时分支。
-
通过git branch 命令给这个提交创键一个临时的分支,这个分支是基于头指针分离下修改提交的commit id 创建的
git branch temp c2c9895
-
如果需要将分支与master分支合并,则可执行
git merge temp 注意:如果master分支在temp分支前,需要执行 git checkout master 如果存在多个分离头指针HEAD,一定要每个<commit id>保存到分支后在执行git checkout master,不然会将没保存到分支到的<commit id>全部删除,
-
最后将临时分支temp删除
git branch -d temp
-
-
4. idea集成gitHub
1.建立链接
-
在idea中安装github插件
-
添加github账号
-
分享工程到github
2.push推送本地仓库到远程库
-
右键点击项目,可以将当前分支的内容push到GitHub的远程仓库中
-
注意:注意:push 是将本地库代码推送到远程库,如果本地库代码跟远程库代码版本不一致,push 的操作是会被拒绝的。也就是说,要想 push 成功,一定要保证本地库的版本要比远程库的版本高!因此一个成熟的程序员在动手改本地代码之前,一定会先检查下远程库跟本地代码的区别!如果本地的代码版本已经落后,切记要先 pull 拉取一下远程库的代码,将本地代码更新到最新以后,然后再修改,提交,推送!
-
pull 拉取远程库到本地库
-
clone克隆远程到本地
地代码更新到最新以后,然后再修改,提交,推送!**
-
pull 拉取远程库到本地库
-
clone克隆远程到本地
[外链图片转存中…(img-4T098mVv-1705803129877)]
[外链图片转存中…(img-Ovltb0UG-1705803129878)]