Git常用操作命令

Git常用操作命令

发布:2023-11-05     分类:闲者编程     标签:Git
2023 - 11 - 4

一. 初始配置

1. 账号邮箱配置

git config --global user.name test
git config --global user.email test@test.com

2. alias简写配置

在Git中,你可以使用alias(别名)来为常用的Git命令创建简写配置。通过别名,你可以用更短、更简洁的方式执行常用的Git操作。

2.1 使用git config命令配置别名:

git config --global alias.cp cherry-pick
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.br branch
git config --global alias.st status

上述命令将创建了三个别名:cp代表cherry-pick命令,co代表checkout命令,br代表branch命令,ci代表commit命令,st代表status命令。你可以根据自己的喜好和习惯配置其他别名。

2.2 直接编辑Git的配置文件

通过编辑~/.gitconfig文件(对于Windows用户来说,是C:\Users\你的用户名.gitconfig),你可以手动添加别名的配置。在文件中添加如下内容:

[alias]
    co = checkout
    br = branch
    ci = commit

同样的,上述配置会创建三个别名。

这样配置之后,你可以使用简写的命令来执行相应的Git操作。例如,git co相当于git checkout,git br相当于git branch,git ci相当于git commit。

注意,通过--global选项配置的别名将适用于全局范围,即在你的所有Git仓库中都可使用。如果你只想在当前仓库中使用别名,可以省略--global选项,然后在仓库的.git/config文件中添加别名配置。

3. warning: LF will be replaced by CRLF

该警告表示在Git中发现了换行符的不一致性。在Windows系统中,默认使用CRLF(回车加换行符)作为行尾符,而在Unix/Linux系统中,默认使用LF(换行符)作为行尾符。

这个警告通常出现在跨平台协作或在不同平台上使用Git时,例如在Windows和Unix/Linux之间切换。

Git会自动进行换行符的转换,以便确保文件在不同系统上的一致性。在这种情况下,Git发现你的代码中使用了LF作为行尾符,但它将被转换为CRLF。

虽然这个警告不会影响代码的功能性,但如果你希望避免这个警告,可以采取以下几种解决方案之一:

忽略警告(不推荐):你可以通过设置Git配置来忽略该警告,但这并不是一个推荐的做法,因为它可能导致行尾符不一致性的问题。在Git命令行中运行以下命令以忽略警告:

git config --global core.safecrlf false

转换行尾符为LF:如果你在Windows上开发,可以考虑将行尾符转换为LF。在Git命令行中运行以下命令:

git config --global core.autocrlf input

转换行尾符为CRLF:如果你在Unix/Linux上开发,并且希望行尾符被转换为CRLF,可以运行以下命令:

git config --global core.autocrlf true

根据你的开发环境和需求,选择适合的解决方案,并确保在团队协作时所有成员都使用相同的换行符设置,以避免不必要的换行符警告。

4. git:windows中文名称、路径变成xx%解决

当在Windows中使用Git时,如果Git的文件名或路径中包含中文字符,有时会出现被编码为xx%的情况。这是因为在Windows中,默认情况下,Git使用UTF-8编码,而Windows使用的是ANSI编码。

要解决这个问题,你可以进行以下设置:

设置Git的文件名和路径编码:在Git Bash中,运行以下命令来将Git的文件名和路径编码设置为UTF-8:

git config --global core.quotepath false

设置Windows系统的本地编码:如果Git的文件名和路径还是显示为xx%,则需要确保Windows系统的本地编码设置与Git的编码一致。你可以按照以下步骤更改Windows系统的本地编码为UTF-8:

在桌面上右键点击"开始"按钮,并选择"运行"。
输入regedit并按下回车键,打开注册表编辑器。
导航到以下路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage。
双击右侧窗口中的"ACP",将数值数据更改为"65001"。
关闭注册表编辑器,并重新启动计算机使更改生效。

通过上述设置,Git应该能够正确地处理中文字符的文件名和路径,避免出现xx%的情况。

5. git代理配置

要在Git中配置代理,你可以通过以下几种方式

方式一:使用git config命令配置代理:在Git命令行中,运行以下命令来配置代理:

# 设置HTTP代理
git config --global http.proxy <代理地址>

# 设置HTTPS代理
git config --global https.proxy <代理地址>

将<代理地址>替换为你的代理服务器地址,包括主机名和端口号。例如,如果代理服务器位于proxy.example.com的端口8888上,命令将如下所示:

git config --global http.proxy http://proxy.example.com:8888
git config --global https.proxy http://proxy.example.com:8888

要清除已配置的代理,可以使用以下命令:

git config --global --unset http.proxy
git config --global --unset https.proxy

方式二:编辑.gitconfig文件:手动编辑~/.gitconfig文件(对于Windows用户来说,是C:\Users\你的用户名.gitconfig),并添加以下内容:

[http]
    proxy = <代理地址>
[https]
    proxy = <代理地址>

将<代理地址>替换为你的代理服务器地址,与上述命令相同。

在配置代理之后,Git将通过指定的代理服务器进行HTTP和HTTPS通信。这对于需要通过代理访问远程仓库或下载依赖项的场景非常有用。

确保代理服务器的地址和端口号正确,并在需要时提供代理的用户名和密码,以便成功连接到代理服务器。如果你的代理服务器需要身份验证,参考代理服务器的文档来获取详细配置说明。

二. git配置.gitignore操作

1. git移除指定目录版本控制

如果你想要移除 Git 版本控制系统中的某个指定目录,可以按照以下步骤进行操作:

1.通过 cd 命令进入该 Git 仓库所在的目录。

2.执行以下命令,将需要移除版本控制的目录添加到 .gitignore 文件中,例如,如果你想要移除名为 example 的目录,可以执行以下命令:

echo "example/" >> .gitignore

注意,如果 .gitignore 文件还不存在,可以通过以下命令创建:

touch .gitignore

3.执行以下命令,删除版本库中的指定目录,但不删除本地文件:

git rm -r --cached example

这条命令会将 example 目录从 Git 版本库中删除,并从 Git 跟踪列表中删除。注意,使用 --cached 选项来仅仅删除 Git 跟踪列表,而不会删除本地文件。

4.执行以下命令,提交修改:

git commit -m "Remove example directory from version control"

这条命令会提交修改并添加一个提交信息,告诉 Git 你已经从版本控制中移除了 example 目录。

5.执行以下命令,推送修改:

git push

这条命令会将修改推送到远程仓库。

现在,example 目录已经被从版本控制中移除了。注意,这些操作不会删除本地文件,只会从 Git 版本控制系统中移除指定目录。如果需要删除本地文件,可以手动删除它们。

2. 只忽略指定目录下的文件,不忽略目录

在.gitignore文件中,可以忽略指定目录下的文件,不忽略目录。但是,如果该目录下没有任何文件被跟踪,Git将不会包括该目录。在Git中,只有跟踪的文件才会被提交。

如果你想要提交一个空目录,可以在该目录中添加一个.gitkeep文件,并将其添加到版本控制中。.gitkeep文件不需要任何内容,它只是作为一个标记来确保Git跟踪该目录。

举个例子,在.gitignore中,忽略指定目录下的所有文件,但不忽略该目录下的:

/my_directory/*
!/my_directory/.gitkeep

这样,在提交时,my_directory目录和.gitkeep文件将被包括在版本控制中。

三. git分支操作

1. git删除远程分支

要删除 Git 远程分支,可以使用以下命令:

git push <remote_name> --delete <branch_name>

其中, 是你的远程仓库名称,一般为 origin; 是你要删除的分支名称。

例如,要删除名为 my-feature-branch 的远程分支,可以使用以下命令:

git push origin --delete my-feature-branch

执行完毕后,该分支就会被从远程仓库中删除。

更新:2023-11-05
点击评论
评论区