程序员开发实例大全宝库

网站首页 > 编程文章 正文

超详细!idea使用git命令大全(idea操作git详解)

zazugpt 2024-10-10 14:33:10 编程文章 19 ℃ 0 评论

下载git bash(windows版)

  • IDEA虽然集成了git,但是并没有自带git.exe,所以需要自己下载。
    git.exe 分32和64位,可以在git官网下载:
  • https://git-scm.com/download/win

Idea配置git

可以点击test查看是否配置成功

出现git版本号即代表配置成功

之后再Git bash工具中使用如下命令

因为Git是分布式版本控制系统,所以,每个机器都必须自报家门

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

创建SSH Key,远程连接。在用户主目录下查看是否有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果有,直接将id_rsa.pub 中的内容放进git服务器中。如果没有,需要进行一下步骤生成密钥。打开Shell(Windows下打开Git Bash),创建SSH Key:

$ ssh-keygen -t rsa -C "youremail@example.com"

填入自己的邮件地址,然后一路回车,使用默认值即可。之后在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

在git服务器中填入公钥,这样才能从服务器中下载上传文件

Idea中创建本地仓库

VCS --> Create Git Repository 然后在弹出的窗口中选择要创建git仓库的项目,点击OK

成功后,会在工作区文件夹中产生git仓库。

2.配置.gitignore文件

不是所有的文件都需要提交到仓库中,git可以帮我们忽略相关文件。方法:在项目根目录中创建和配置一个.gitignore文件,文件中配置需要忽略的文件,这样已配置的文件就不会add和commit

样例

# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.txt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
*.lock
target/
# IDEA
*.iml
*.ipr
*.iws
.idea/
.classpath
.progect
.settings/
bin/
tmp/
*.xml

也可以使用如下方法忽略文件

在这里添加远程服务器地址(自己搭建的git服务器)

分支

创建分支

切换分支

合并分支

切换到主分支上

Idea在合并时默认提交到本地仓库中

使用git命令时,需要手动提交

推送分支

切换到需要推送的分支上

注意:推送代码只会推送本地版本库中的内容,不会推送本地工作区的

删除本地分支和远程分支

删除本地分支

点击之后在右下角会弹出提示框询问是否删除远程分支,点击确定远程分支会被删除,也可以关闭这个提示框,在上边的图片上选择最下边的一个origin/newApp删除远程分支。

标签

创建标签

在最新版本创建标签

在指定版本创建

查看标签

推送标签

删除本地标签

目前没有找到idea的相关命令,

使用命令行

删除远程标签

在命令行中输入

git push origin :refs/tags/标签名

初次上传项目

1.设置当前项目所在文件夹为git仓库(本地仓库)(git工作区,.git仓库)

2.选定仓库位置(会在这个文件夹下创建.git仓库,项目文件夹就是Git仓库)

提交项目

  1. 先add

指定文件或整个项目

  1. 提交

推送

抓取远程仓库最新代码并合并

指定远程仓库地址(推送时指定)

查看提交记录

初次下载代码

需要配置git服务器地址

之后一路next即可

在idea中使用命令行操作git命令

所有git操作都可以在这个命令行中操作

多人操作远程仓库出现的问题

最正常的流程:A上传项目到git远程仓库,其他人直接从远程仓库clone,这样保证了都是一个仓库,推送提交不会出现问题

问题:A上传了项目到远程仓库,其他人本地有项目代码,其他人在往远程仓库提交时,会报错:fatal: refusing to merge unrelated histories 本地和远程不是同一个仓库,百度解决方法:$git pull origin master --allow-unrelated-histories 但是也会出现各种各样的问题;使用命令强制提交:git push origin master --force 会出现远程仓库和B是一样的仓库了,A更新代码时会报不是一个库的错误,因此按照最正常的流程不会出现上边的问题。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表