一.安装git

官方下载:https://git-scm.com/downloads

二.建立仓库

本地仓库

例如我的本地项目在D:\data\code\C

1.进入项目

cd d:
cd D:\data\code\C

2.变成Git可以管理的仓库

git init

3.在GitHub (类似 Gitee 的代码托管服务)创建一个仓库

三.本地仓库关联 GitHub (类似 Gitee 的代码托管服务)仓库

连接

你需要添加一个新的远程仓库并将其命名为github或其他你喜欢的名称。任选其一

打开 Gihub 仓库页面,复制仓库的 HTTPS 或 SSH URL

git remote add github <github 仓库的 URL>

HTTPS URL,命令如下:

git remote add github https://<你的 github 用户名>:<你的 github 密码>@github.com/<你的 github 用户名>/<你的仓库名称>.git

SSH URL,命令可能如下:

git remote add gitee git@github.com:<你的 github 用户名>/<你的仓库名称>.git

绑定用户

1.绑定用户
绑定邮箱

git config --global user.email "you@example.com"

绑定用户名

git config --global user.name "Your Name"

2.创建密钥
在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

ssh-keygen -t rsa -C "youremail@example.com"
你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可

3.绑定密钥
登陆GitHub,打开Account settingsSSH Keys页面,点Add SSH Key,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内

4.验证远程仓库:

git remote -v

四.上传本地代码

1.添加工作目录中的所有更改到暂存区:

git add .
如果需要添加单个文件或文件夹将.换成文件或或文件夹所在的地址(例如git add README.md)

2.提交已暂存的更改

git commit -m "提交注释"

3.上传本地代码到代码托管服务平台

git push github main
github是之前给仓库的命名,main是分支的名称

常用的 Git 命令

1.初始化和配置

初始化仓库:

git init

配置用户信息:

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

2.基本操作

克隆仓库:

git clone repository_url

查看状态:

git status

查看提交日志:

git log

推送:

git push origin master

拉取:

git pull origin master

强制将分支的最新内容拉取到本地的分支:

git pull --force origin master

将本地分支重置为远程分支的最新状态,即使本地分支有未提交的修改:

git reset --hard origin/master

3.添加,清除,提交,查看

添加所有更改到暂存区:

git add .

清除暂存区的内容:

git reset

将文件从缓存区中移除,但物理文件仍然存在:

git rm --cached <文件路径>

查看暂存区的内容:

git ls-files

这会将所有已经暂存的更改从暂存区移除,但是保留在工作目录中的文件不受影响。如果你只是想撤销部分文件的暂存,可以指定这些文件:

git reset file1 file2

提交已暂存的更改:

git commit -m "Commit message"

4.分支操作

查看分支:

git branch

创建新分支:

git branch branch_name

切换到分支:

git checkout branch_name

创建并切换到新分支:

git checkout -b new_branch_name

合并分支:

git merge source_branch

删除本地分支:

git branch -d branch_name

强制删除本地分支(如果分支还没有合并):

git branch -D branch_name

5.远程操作

移除与远程仓库的关联:

git remote remove origin

断开连接而不删除关联:

git remote disconnect origin

添加远程仓库:

git remote add origin remote_repository_url

将本地分支推送到远程仓库:

git push -u origin local_branch

从远程仓库拉取更新:

git pull origin branch_name

6.撤销更改

撤销工作目录中的更改:

git checkout -- file_name

撤销已暂存的更改:

git reset file_name

版本回退:

HEAD相当与当前、HEAD~1 退回上一个版本、HEAD~2 退回上两个版本,依次类推。
git reset --hard HEAD~1

或者

git reset --hard (目标版本号)

7.分支管理

删除本地分支:

git branch -d branch_name

删除远程分支:

git push origin --delete remote_branch_name

8.查看差异

查看工作目录和暂存区之间的差异:

git diff

查看已暂存和未暂存的差异:

git diff --staged

报错

LF will be replaced by CRLF the next time Git touches it

这个警告是由于 Windows 和 Unix 系统之间的换行符 (\n 和 \r\n) 不同引起的。在 Windows
上,文本文件的行尾通常由 \r\n 表示,而在 Unix/Linux 等系统上,行尾通常由 \n 表示。

这个警告通常出现在文件的换行符混合使用时,比如在 Windows 系统上使用的 CRLF(\r\n)格式的换行符,而在 Git 中又配置了
core.autocrlf 为 true 的情况下。
1.禁用 core.autocrlf:

git config --global core.autocrlf false

这将禁用自动换行符转换,保留文件中原有的换行符。

2.设置 core.eol:
如果你希望在提交时保持换行符转换,但希望检出时保持原样,你可以尝试设置 core.eol:

git config --global core.eol lf

或者:

git config --global core.eol crlf

这将设置 Git 使用指定的换行符风格。

3.手动修复文件:
如果只是个别文件出现这个问题,你也可以手动修复,将文件的行尾调整为你希望的格式。可以使用文本编辑器或者 Git 提供的工具。

注意,上述设置是全局的,对所有 Git 仓库有效。如果只想在当前仓库中应用这些设置,去掉 --global 即可。

进阶

只将已追踪文件加入到暂存区


1.使用 .gitignore 文件来忽略忽略未追踪文件
在项目根目录下创建一个名为.gitignore的文件,然后在文件中列出你想要忽略的文件和目录
例如

# 忽略 test.c 文件
practice_code/test.c
# 忽略 practice_test/ 目录下的文件
practice_test/
# 忽略 所有test.c 文件
**/test.c

2.将已被追踪的文件的更改加入到暂存区

git add -u


每次提交自动同步到代码托管服务平台


1.创建钩子
在本地仓库的.git/hooks目录下,你可以创建一个名为post-commit的文件,该文件是在每次提交后运行的钩子

#!/bin/bash

# 自动同步到 Gitee
git push gitee main

# 自动同步到 GitHub
git push github main

2.设置脚本执行权限

chmod +x .git/hooks/post-commit

3.测试自动同步

git commit -m "Your commit message"


Git Bash 的默认工作目录设置


将 Git Bash 的默认工作目录设置为 D:\data\code\C。

对于 Linux 和 macOS 用户:
1.打开终端
2.运行以下命令检查是否存在 .bashrc 文件:

ls -a ~/

如果不存在,可以创建一个:

touch ~/.bashrc

3.然后使用文本编辑器编辑.bashrc文件:

vim ~/.bashrc

在文件中添加以下行:

cd /d/data/code/C

保存并关闭编辑器。

关闭当前终端窗口,重新打开一个新的窗口。

对于 Windows 用户:
1.打开 Git Bash。
2.运行以下命令检查是否存在.bash_profile文件:

ls -a ~/

如果不存在,可以创建一个:

touch ~/.bash_profile

然后使用文本编辑器编辑 .bash_profile 文件。

vim ~/.bash_profile

在文件中添加以下行:

cd /d/data/code/C

保存并关闭编辑器。

关闭当前 Git Bash 窗口,重新打开一个新的窗口。

现在,每次你打开 Git Bash,它都应该默认定位到 D:\data\code\C 目录。确保路径设置正确,并且没有其他地方覆盖了这个设置。

最后修改:2023 年 12 月 29 日
如果觉得我的文章对你有用,请随意赞赏