git使用笔记


对git肯定不陌生,会用tortoiseGit,也会用idea,但是会用git的命令吗,发现自己啥都不会,实在不像话。

先从最简单的开始。

git add

不要小看这个命令,直接也是无法使用的。
报错:

On branch xxx
Your branch is up to date with 'origin/xxx'.

Changes not staged for commit:
        modified:   custom/src/main/java/com/test/TTT/.java
no changes added to commit

是需要先添加:
git add .
然后就可以了。

那么知识又来了,git add命令也不能乱用(见本文git add命令)。

git add

git add

添加指定的文件到暂存区

注:这个命令也不简单,文件的路径怎么拿?
如果路径不对会报错:

命令:
git add CustomUtils.java 
返回:
fatal: pathspec 'CustomUtils.java' did not match any files

所以,最好结合 git ls-files | grep CustomUtils 来使用,就能拿到完整的文件路径,再提交即可。

git add -A

(git add --all 的缩写)添加所有变更的文件到暂存区

git add -u

(git add --update的缩写)添加被修改(modified)和被删除(deleted)文件,不包括新文件(new)

git add *

添加新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件

git add .(推荐)

会把本地所有untrack的文件都加入暂存区,并且会根据.gitignore做过滤,但是git add * 会忽略.gitignore把任何文件都加入.(推荐,一般用这个就可以)

一般用这个就可以。

git diff

提交前看有哪些改变,用这个命令就行。
上下键可以翻动内容,也支持/(左斜杠搜索等)。

git commit

git commit -m “提交内容”

git commit 提交乱码

设置下全局编码即可。

后面不带配置是查看:
git config --global i18n.commit.encoding
git config --global i18n.log.encoding

带配置是设置:
git config --global i18n.commit.encoding utf-8
git config --global i18n.log.encoding utf-8

实测问题解决。

git config设置全局编码报错:error: key does not contain a section: –-global

命令:
git config –-global i18n.commitencoding utf-8

这就搞笑了,还以为–global不能在命令行中使用呢,仔细一看是第一个横岗没写对。

git注释的重要性

首先强调一点,提交的时候必须写注释,必须写注释,必须写注释,重要的事情说三遍。
因为如果不写注释,过段时间查看log的时候连自己也看不懂每次提交干了什么。 这太可怕了…

例如模板为:

项目名:本次提交的功能名
改动1
改动2

内容为:

阿里飞天: 基础框架搭建
1、引入了spring-cloud
2、引入了xx-job

注释要本着至少能把事情说清楚,尽量全的原则。
如果代码量不多,甚至可以细化到哪个类的哪个方法,甚至哪行。

修改用户名、邮箱,以及重设配置

命令如下:

查看用户名和邮箱:
git config user.name
git config user.email

修改用户名和邮箱:
git config --global user.name "chushiyun@111.com"
git config --global user.email "chushiyun@111.com"

如果还是有问题,pull或者push超时问题。那么重置下密码吧,然后再输入账号密码后续就可以了。
git config --system --unset credential.helper

commit

比较常用(推荐)

查看远程地址: git remote -v
查看分支: git branch -v # 查看git分支(这个其实还好用些) git branch -a #head指向的是当前分支
查看当前分支: git branch

查看git地址:

命令:
git --exec-path
结果:
C:/Program Files/Git/mingw64/libexec/git-core

查看git文档地址:

命令:
git --html-path
结果:
C:/Program Files/Git/mingw64/share/doc/git-doc

git.exe的几个可能的地址

为什么要整理这个呢? 因为如果直接搜索git.exe,好几个位置都可以搜索到,不知道配置哪个了。

C:\Program Files\Git\bin  # 一般来说配置这个就行 但是git --exec-path返回的是C:\Program Files\Git\mingw64\libexec\git-core 这是正常的。
C:\Program Files\Git\cmd
C:\Program Files\Git\mingw64\bin
C:\Program Files\Git\mingw64\libexec\git-core 

其他

文档地址

官网文档地址:
https://git-scm.com/doc

突然发现这个文档已经支持选择不同语言了,右上角的topics右边是有的。

git cheat sheet(备忘录)pdf版:
https://github.github.com/training-kit/downloads/github-git-cheat-sheet.pdf

报错

git报错 “cannot spawn ssh: No such file or directory”

git branch -v的时候报错 “cannot spawn ssh: No such file or directory”

1、环境变量添加 GIT_SSH=C:\Program Files\Git\usr\bin\ssh.exe
2、一般就可以解决了,如果还有问题,可以试下 git config --global core.longpaths true ,这个用来解决路径长度不大于260的问题。(在这里不确定有用)

配置完毕后,记得重启下idea。

git bash可以pull,idea pull 一直没反映

先确定2者配置一致,都到settings里面看看。

git bash会带git吗

一般会带的,但是再装个git也是可以的。

–表示参数

–表示参数 --表示参数 --表示参数,重要的事情说3遍。 当然也不只git,其他很多也是–表示参数。

idea中git合并分支

例如分支a 基于分支a创建分支b。
分支b先提交了代码,分支a后续又提交了代码,可以合并上吗。

当然可以的。

先检出b分支,checkout a分支,本地肯定是没有的,不过没关系,pull一下就会自动将远程设置为a分支的远程。pull过来最新代码。
然后切换回a分支,右键merge b分支,发现都合并过来了,再push下,b分支远程也有了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值