Git使用与IDEA中操作

背景

之前使用了多年的SVN,后来中间也用过一段时间的Git。但后面工作中因为打包拉分支等一系列问题,有位同事坚持用Git来替换SVN,就开始实验了,也算是一点实践。

 

一、Git安装

安装挺简单的,对于Windows来讲博客也是很多。下载地址:Git

 

二、IDEA使用Git

IDEA中使用Git时,先配置安装的Git目录中cmd文件夹下的git.exe。如下图,然后点击“Apply”和“OK”。

若出现下面的图标,说明在IDEA中可以直接使用Git了,可不通过命令来操作。从左到右依次是Update、Commit、Compare、Show  History、Rollback。

还可以直接右键单击项目的目录,选择Git的相关操作。如下图。

下面是一些IDEA中常见的Git操作。为了方便,我一般会将常用的工具如Maven、FindBugs等工具在IDEA窗口的边缘显示出来。下面就是IDEA中关于版本控制的一个窗口,点开可以显示与Git相关操作的一记日志、历史等。

如何在IDEA中切换分支呢?下面看下IDEA中显示分支的地方,如下图。

点击上图中红色标记的地方,弹出如下图所示的窗口。有Local Branches(本地分支)和Remote Branches(远程分支)。不管是切换本地分支还是远程分支,都可以直接操作。

右下角显示为“Git:dev”,表示当前是dev的分支而不是master。如要切换到master。则选择master并点击后,会出现下图中左侧的一些按钮(如Checkout、Delete、Compare with Current等),点击Checkout就会切换过来了。

 

三、使用说明

3.1 GUI和命令行区别

还是先说下Git GUI Here和Git Bash Here的区别。前者是Git的图形化操作入口,即点击后会打开Git的图形化操作界面;而后者是Git的命令行操作入口。

点击Git GUI Here,打开图形化界面。如下图:

点击Git Bash Here,打开命令行操作界面。如下图:

 

3.2 账号与权限

配置用户名和用户的邮箱。命令如下:

-- 设置用户名
git config --global user.name "name"
-- 设置用户邮箱
git config --global user.email "11@qq.com"

-- 以用户名登陆
git config --global user.name 'username'
-- 以邮箱登陆
git config --global user.email 'email'

如果数据保存在远端服务器,服务器需要对用户的身份进行识别。所以这里先配置权限。可以在Git的访问页面或打开GUI进行配置。如果没有设置,在Push时可能会导致失败。

打开Git的访问页面进行配置,如下图:

打开GUI进行配置,如下图:

如果使用命令,则输入如下命令:

ssh-keygen -t rsa -C "邮箱"

 生成key时会弹出选项,回车选择默认。

 

3.3 推送新项目到git

首先在本地建立项目,然后进行项目所在的文件夹:cd  projectFolder;

将项目目录变成git 可以管理的仓库:git  init;

将项目关联到远程仓库:git   remote  add  origin  git@xxx:xx/xx.git

将文件添加到库中(注意是git  add后面还有一个空格和一个点号):git   add .

将项目提交:git  commit  -m  '说明'

将项目推送到仓库:git  push  -u   origin  master

 

3.4 仓储(新建/克隆/打开)

刚开始打开GUI界面时,需要仓储的信息,如下图。一般是已经有地址了,需要克隆地址,下载代码进行开发,所有选择克隆,并选择克隆到电脑中的文件夹。

如果已经克隆了,那下次打开时Git会自动记录,以方便直接进入。

 在Git Bash Here界面操作时,先进入电脑的磁盘,比如D盘的Work目录,点击右击选择Git Bash Here,然后输入命令:git clone url,其中url是网上的仓库地址。在命令界面中会显示克隆后文件所在的目录。

git clone url

 

3.5 GUI界面

曾经有中文,后面发现没办法选择语言,于是将GUI的界面翻译,如下图:

Remote中,Fetch from:从...获取;Prune from:从...清除。

 

3.6 提交上传撤消删除

将代码克隆下来后,如果改动了其中的文件,点击Rescan,会扫描出改动的文件,然后填写提交信息提交。其中红色表示原来的代码,绿色表示现在的代码。如下图:

删除已提交的文件或文件夹的话,使用命令:

-- 在本地仓库中删除文件
git rm 文件

-- 在本地仓库中删除文件夹(如果是空的文件夹,可以不用带上-r)
git rm -r 文件夹

-- 提交代码
git commit -m 说明

-- 推送到远程仓库
git push origin xxx

 

使用命令操作时,命令如下所述:

说明命令
将本地仓库内容提交至远程库git  push  origin  master
将远程库的内容更新至本地git  pull
撤消工作区的修改git  checkout  --文件名
撤销暂存区的修改git  reset  HEAD 文件名
回退到历史版本git  reset  --hard   该版本
回退到上个版本git  reset  --hard  HEAD^
回退到上上个版本git  reset  --hard  HEAD^^,也可写成HEAD~2,以此类推

 

3.7 查看历史和对比

在操作之前,先配置编码Encoding。选择Edit——>Options,如下图:

将File Contends Encoding的编码改变为UTF-8,否则在查看时,汉字会乱码。

选择Repository——>Visualize master's History,会列出历史,可查看或对比。如下图:

当对比代码时,红色表示原来的代码,绿色表示现在的代码。

-- 比较暂存区和工作区的差异
git diff

-- 比较暂存区和历史区的差异
git diff

-- 比较历史区和工作区的差异
git diff master

-- 比较文件差异,在git add前使用
git diff 文件名

-- 查看仓库历史详细记录
git log

-- 查看仓库历史的单行记录
git log --pretty=online 或 git log --online

-- 查看所有版本的commit ID 
git reflog

 

3.8 (远程)仓储

选择Remote——>Add...,打开如下截面,填写名称和地址,点击Add。

使用命令行时,如下所述:

说明命令
关联本地仓库与GitHub库git  remote  add  origin 网站对应的仓库地址
第一次本地仓库内容推送到GitHub上

git  push  -u  origin  master

连接远程仓库git  remote  add  origin  仓库地址
查看远程仓库git  remote  -v
删除远程仓库git  remote  rm  origin
查看仓库状态git  status

 

3.9 分支

-- 创建分支dev
git branch dev

-- 切换分支
git checkout dev

-- 创建并切换分支
git checkout -b dev

-- 删除分支
git branch -d dev


-- 在分支上提交新的版本
git commit -a -m 'dev new'

-- 合并分支
git merge dev

-- 分支合并后显示日志
git log --oneline --graph -- decorate

-- 在分支开发的过程中遇到其他其他问题需要切换到其他分支,保留写好的内容,再切换到主干
git stash -- 保留内容

-- 再次切换分支后,需要应用保留的内容
git stash apply

-- 丢掉保留的内容
git stash drop

-- 使用并丢掉
git stash pop

-- 合并分支,把树权掰到主干上
git rebase

 

3.10 其它常用命令

-- 查看git版本信息
git --version

-- 初始化git
git init

-- 查看版本
git log --oneline
-- 回滚最近的一个版本
git reset
-- 回滚到后来
git reflog

-- 创建文件夹
mkdir nodejs
-- 切换到nodejs目录下
cd nodejs
-- 查看目录
ls -al
-- 查看文件内容,比如查看hello.txt文件
cat hello.txt

-- 删除本地文件
rm filename

-- 为当前版本打上标签
git tag 标签名
-- 为历史版本打标签
git tag 标签名 版本ID
-- 指标标签说明
git tag -a 标签名 -m "标签说明" [版本ID]      ([]中的内容可选,可要可不要)
-- 查看所有标签
git log
-- 查看某一个标签
git show 标签名
-- 删除某一个标签
git tag -d 标签名

-- 查看目录
dir

-- 查看当前用户名
git config --global user.name
-- 查看当前用户的邮箱
git config --global user.email

-- 切换用户名
git config --global user.name "xx"
-- 切换用户邮箱
git config --global user.email "xx@qq.com"
-- 查看用户信息
git config --list

 

3.11  fatal: Authentication failed for问题

在git Bash Here中输入以下命令:

git config --system --unset credential.helper

如果还是不行,重新设置用户名用户邮箱,命令如下:

-- 切换用户名
git config --global user.name "xx"
-- 切换用户邮箱
git config --global user.email "xx@qq.com"

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值