Git日常记录

Git学习

概述

  • Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
  • Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
  • Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

环境配置

查看配置

$ git config --global --list
user.name=hesai
user.email=278513193@qq.com

有时候会看到重复的变量名,那就说明它们来自不同的配置文件(比如 /etc/gitconfig 和 ~/.gitconfig),不过最终 Git 实际采用的是最后一个。

这些配置我们也可以在 ~/.gitconfig/etc/gitconfig 看到,如下所示:

vim ~/.gitconfig 

配置用户

$ git config --global user.name " "
$ git config --global user.email 278513193@qq.com

文本编辑器

设置Git默认使用的文本编辑器, 一般可能会是 Vi 或者 Vim。如果你有其他偏好,比如 Emacs 的话,可以重新设置::

$ git config --global core.editor emacs

差异分析工具

还有一个比较常用的是,在解决合并冲突时使用哪种差异分析工具。比如要改用 vimdiff 的话:

$ git config --global merge.tool vimdiff

工作流程

img

创建仓库

git init

使用当前目录作为Git仓库,我们只需使它初始化。

git init

该命令执行完后会在当前目录生成一个 .git 目录。

使用我们指定目录作为Git仓库。

git init newrepo

git clone

我们使用 git clone 从现有 Git 仓库中拷贝项目(类似 svn checkout)。

克隆仓库的命令格式为:

git clone <repo>

如果我们需要克隆到指定的目录,可以使用以下命令格式:

git clone <repo> <directory>

参数说明:

  • repo:Git 仓库。
  • directory:本地目录。

账号配置

SSH公钥配置

Gitee 提供了基于 SSH 协议的 Git服务,在使用 SSH 协议访问仓库仓库之前,需要先配置好账户/仓库的SSH公钥。

公钥生成

$ ssh-keygen -t ed25519 -C "xxx"
Generating public/private ed25519 key pair.
Enter file in which to save the key (/c/Users/hesai/.ssh/id_ed25519):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/hesai/.ssh/id_ed25519
Your public key has been saved in /c/Users/hesai/.ssh/id_ed25519.pub
The key fingerprint is:


查看公钥

$ cat ~/.ssh/id_ed25519.pub

idea集成

$ git clone url
$ git add .
$ git commit -m "init"
$ git push

.gitignore

语法

以”#”号开头表示注释;
以斜杠“/”开头表示目录;
以星号“*”通配多个字符;
以问号“?”通配单个字符
以方括号“[]”包含单个字符的匹配列表;
以叹号“!”表示不忽略(跟踪)匹配到的文件或目录;

用法示例

*.txt  ,*.xls  表示过滤某种类型的文件
target/ :表示过滤这个文件夹下的所有文件
/test/a.txt ,/test/b.xls  表示指定过滤某个文件下具体文件
!*.java , !/dir/test/     !开头表示不过滤
*.[ab]    支持通配符:过滤所有以.a或者.b为扩展名的文件
/test  仅仅忽略项目根目录下的 test 文件,不包括 child/test等非根目录的test目录

常见问题

  • The file will have its original line endings in your working directory
    warning: LF will be replaced by CRLF in nk-logbook/pom.xml.

原因:Linux平台下的换行符是 LF,而Windows下则是 CRLF,所以当你再 Windows 保存文件时候,换行符会被保存为 CRLF

Gitshell中输入如下命令解决:

$ git rm -r --cached
$ git config --global core.autocrlf false #禁用该功能
posted @ 2021-12-18 10:06  天横  阅读(34)  评论(0)    收藏  举报