程序员必备工具:git

一、安装

1
sudo apt install git

二、初始化配置

(1)用户信息

1
2
git config --global user.name "John Doe"
git config --global user.email [email protected]

(2)文本编辑器

1
git config --global core.editor vim

(3)启动git命令行颜色输出

1
git config --global color.ui true

(4)检查配置信息

1
git config --list

三、SSH Key配置

配置完SSH Key可以通过ssh协议与github通信。

(1)生成密钥

若你的.ssh路径已经生成密钥文件id_rsa.pubid_rsa,不用进行这一步。

1
ssh-keygen -t rsa -C ‘your email’
  • -t 指定密钥类型,默认是 rsa ,可以省略。
  • -C 设置注释文字,比如邮箱。
  • -f 指定密钥文件存储文件名。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[root@localhost ~]# ssh-keygen -t rsa       <== 建立密钥对,-t代表类型,有RSA和DSA两种
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): <==密钥文件默认存放位置,按Enter即可
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): <== 输入密钥锁码,或直接按 Enter 留空
Enter same passphrase again: <== 再输入一遍密钥锁码
Your identification has been saved in /root/.ssh/id_rsa. <== 生成的私钥
Your public key has been saved in /root/.ssh/id_rsa.pub. <== 生成的公钥
The key fingerprint is:
SHA256:K1qy928tkk1FUuzQtlZK+poeS67vIgPvHw9lQ+KNuZ4 [email protected]
The key's randomart image is:
+---[RSA 2048]----+
| +. |
| o * . |
| . .O + |
| . *. * |
| S =+ |
| . =... |
| .oo =+o+ |
| ==o+B*o. |
| oo.=EXO. |
+----[SHA256]-----+

(2)添加到github个人配置中

1. 登录GitHub,进入你的Settings

2. 左侧点击SSH and GPG keys

3. 创建New SSH key

4. 填入rsa.pub

复制rsa.pub内容到Key中,Title任起,方便自己辨识即可。

(3)测试

1
ssh -T [email protected]

第一次连接会提示建立连接,输入yes即可,正常情况下你会得到通过验证的提示。如下:

1
2
dwh@dwhsarch ~> ssh -T [email protected]
Hi DingWH03! You've successfully authenticated, but GitHub does not provide shell access.

四、Git Bash命令

(1) 克隆仓库

1
git clone https://github.com/your-username/your-repository.git

从远程仓库克隆项目到本地。

(2) 提交代码

1
2
3
git add .   # 添加当前工作目录所有文件
git commit -m "commit message" # 提交代码并附带提交信息
git push # 推送提交到远程仓库

(3) 初始化仓库

1
git init

在当前目录初始化一个新的 Git 仓库。

(4) 分支管理

1. 创建新分支

1
git branch branch-name

创建一个新的分支 branch-name,但不会切换到该分支。

2. 切换分支

1
git checkout branch-name

切换到已有的分支 branch-name

3. 创建并切换分支

1
git checkout -b branch-name

创建一个新的分支并立即切换到该分支。

4. 查看所有分支

1
git branch

显示所有本地分支,当前所在分支会有 * 标识。

5. 合并分支

1
git merge branch-name

将分支 branch-name 合并到当前分支。

6. 删除分支

1
git branch -d branch-name

删除本地分支 branch-name(该操作只会删除已经合并的分支)。

(5) 查看状态和历史

1. 查看工作目录状态

1
git status

查看当前工作目录和暂存区的状态,了解哪些文件被修改、未被提交等。

2. 查看提交历史

1
git log

显示项目的提交历史。

(6) 设置远程仓库

1. 添加远程仓库

1
git remote add origin https://github.com/your-username/your-repository.git

为本地仓库添加远程仓库 origin

2. 查看远程仓库

1
git remote -v

显示当前配置的远程仓库地址。

3. 推送到远程仓库

1
git push origin branch-name

将本地分支 branch-name 推送到远程仓库。

(7) 拉取和同步代码

1. 从远程仓库拉取代码

1
git pull

从远程仓库拉取代码并合并到当前分支。

2. 同步远程仓库和本地仓库

1
git fetch

从远程仓库下载最新的代码,但不会自动合并。

五、.gitignore 配置

.gitignore 文件用于指定哪些文件或目录不应被 Git 追踪或提交到版本控制系统中。常用于排除临时文件、编译产物、配置文件等。

1. 基本语法规则

  • 每一行代表一个忽略的文件或目录。
  • # 表示注释,可以用来解释 .gitignore 的配置。
  • 使用 / 来指定目录或路径。
  • 使用 * 来匹配任意字符。
  • 使用 ! 来排除某些文件(即指定不忽略的文件)。

2. .gitignore 常用配置示例

1. 忽略某个文件

1
2
# 忽略特定文件
secret.txt

这个配置将忽略项目根目录下的 secret.txt 文件。

2. 忽略整个目录

1
2
# 忽略名为 logs 的目录及其所有内容
logs/

这个配置将忽略 logs 目录及其所有子文件和子目录。

3. 忽略特定文件类型

1
2
# 忽略所有 .log 文件
*.log

这个配置会忽略所有 .log 后缀的文件。

4. 排除某些文件

1
2
3
# 忽略所有 .txt 文件,除了 special.txt
*.txt
!special.txt

这个配置会忽略所有 .txt 文件,但保留 special.txt 文件。

5. 忽略指定路径下的文件

1
2
# 忽略 project 目录下的所有 .log 文件
project/*.log

这个配置会忽略 project 目录下的所有 .log 文件。

6. 忽略特定的 IDE 或编辑器文件

1
2
3
4
5
6
7
8
# 忽略 VSCode 配置文件
.vscode/

# 忽略 JetBrains IDE (如 PyCharm, IntelliJ) 的配置文件
.idea/

# 忽略 MacOS 系统生成的无用文件
.DS_Store

7. 忽略编译产物

1
2
3
4
# 忽略 C、C++ 的编译输出文件
*.out
*.o
*.obj

3. .gitignore 在 GitHub 上的使用

在 GitHub 创建仓库时,可以选择 .gitignore 模板,这些模板是针对不同语言或框架定制的标准配置。以下是一些常见模板的使用场景:

  • Python:忽略虚拟环境、缓存文件等。
  • Node.js:忽略 node_modules/ 目录。
  • Java:忽略编译输出文件、IDE 配置文件等。
  • C++:忽略编译生成的二进制文件、调试文件等。

4. 具体步骤

  1. 在 GitHub 创建仓库时,选择 “Add .gitignore” 选项。
  2. 从下拉菜单中选择与你的项目语言或框架相关的模板。
  3. 仓库创建后,你可以根据项目需要在本地或 GitHub 上进一步修改 .gitignore 文件,添加或删除规则。

通过正确配置 .gitignore,可以避免不必要的文件进入版本控制,保持仓库的简洁性和可管理性。


程序员必备工具:git
https://blog.cxhap.top/2024/09/13/程序员必备工具-git/
作者
DingWH03
发布于
2024年9月13日
许可协议