目录
Git安装
通过Homebrew进行安装
执行如下命令:
# 搜索git
brew search git
# 安装git
brew install git
# 更新git
brew upgrade git
# 卸载git
brew uninstall git
验证是否成功
执行如下命令:
git --version
结果如下即可:
Git LFS安装
Git LFS (Large File Storage)是一个用于管理大型文件的 Git 扩展。
通过Homebrew安装
通过执行如下命令进行安装:
brew install git-lfs
初始化Git LFS
安装完成后,需要在需要使用的Git仓库中初始化Git LFS,然后才能使用LFS。
初始命令执行如下:
git lfs install
常用命令
git
-v:查看版本信息
git -v
或
git --version
-h:查看帮助
git -h
或
git --help
-C <path>
在指定路径下执行 Git 命令,而无需先切换到该目录。<path>
是你想要执行 Git 命令的仓库路径。将 -C <path>
与任何其他 Git 命令一起使用,例如 clone
、commit
、push
等
例如:在 /home/user/myrepo
目录下查看 Git 状态
git -C /home/user/myrepo status
这个命令会在 /home/user/myrepo
目录下执行 git status
命令,而不需要先使用 cd /home/user/myrepo
切换到该目录。
--git-dir=<path>
命令用于指定 Git 仓库的 .git
目录的路径。
应用场景:指定 .git
目录进行仓库操作
例如:在/home/user/myrepo/repo.git目录下执行status命令,并显示该仓库的状态。
git --git-dir=/home/user/myrepo/repo.git status
这个应用场景和-C <path> 有点类似。
-c <name>=<value>
在执行单个 Git 命令时临时覆盖 Git 配置中的某个选项,<name>
是临时配置的 Git 选项名称,<value>
是临时设置的值,不会影响该仓库的其他 Git 配置或全局配置。
例如,如果你想在执行 git commit
命令时临时设置用户名为 "临时用户",你可以使用以下命令:
git -c user.name="临时用户" commit -m "提交信息"
这个命令会在执行 git commit
时使用 "临时用户" 作为用户名,但不会改变你的全局 Git 配置。
init
命令用于在当前目录或指定目录中初始化一个新的 Git 仓库,并在目录下创建一个 .git
子目录,其中包含所有必要的 Git 数据结构。
如果你当前在你希望创建 Git 仓库的目录中。运行代码如下:
git init
在某个特定的目录中初始化 Git 仓库,可以使用 -C
选项来切换到该目录,然后初始化仓库。运行代码如下:
git init -C 目录路径
在指定目录初始化裸仓库(不包含工作目录的仓库),可以使用 --bare
选项。裸仓库通常用于服务器上,以便其他开发者可以从中克隆或推送代码。运行代码如下:
git init --bare 目录路径
add
将文件的更改添加到暂存区(staging area)。
添加单个文件
git add <文件名>
添加多个文件
git add <文件名1> <文件名2>...
添加所有更改的文件
添加所有更改的文件,可以使用 .
表示当前目录及其子目录中的所有文件,命令如下:
git add .
使用 *
表示当前目录中的所有文件(不包括子目录),命令如下:
git add *
添加所有更改的文件(包括子目录)
git add -A
或
git add --all
添加特定类型的文件
例如添加txt类型的文件,命令如下:
git add *.txt
其余类型文件修改txt为对应文件类型的后缀名即可。
commit
将暂存区内容提交到本地仓库,运行如下代码:
git commit -m "备注说明"
fetch
从远程仓库下载(或获取)最新的数据,但不会自动合并或修改工作目录中的内容。
获取所有远程分支的最新数据
git fetch
所有配置的远程仓库中获取最新的数据,并更新本地对远程分支的引用。
特定远程仓库获取数据
git fetch <远程仓库名>
例如,从名为 origin
的远程仓库获取数据:
git fetch origin
获取特定远程分支的数据
git fetch <远程仓库名> <远程分支名>
更新所有远程跟踪分支
git fetch --all
clone
从远程仓库(如GitHub或GitLab)下载一个现有的仓库副本到本地计算机。
运行如下代码:
git clone 仓库地址
pull
从远程仓库获取最新的数据并自动将其合并到当前分支。它实际上是 git fetch
和 git merge
的组合。
默认远程仓库和分支拉取
git pull
默认情况下,git pull
会从名为 origin
的远程仓库和当前分支的远程跟踪分支拉取数据并合并。
特定远程仓库和分支拉取
git pull <远程仓库名> <远程分支名>
指定合并策略
递归合并策略
git pull --rebase
将远程分支的更改应用到本地分支,而不是创建一个新的合并提交。
默认合并策略
git pull --no-rebase
强制使用默认的合并策略(即创建一个新的合并提交)。
push
将本地提交推送到远程仓库。
推送当前分支到默认远程仓库
git push
默认情况下,git push
会将当前分支推送到名为 origin
的远程仓库,并推送到与当前分支同名的远程分支。
推送特定分支到特定远程仓库
git push <远程仓库名> <本地分支名>
强制推送
警告:强制推送可能会覆盖远程仓库的历史记录,导致其他开发者的工作丢失。仅在必要时使用。
git push --force <远程仓库名> <本地分支名>
推送所有分支
git push --all <远程仓库名>
log
命令可以查看提交历史,了解每次提交的详细信息。
运行如下代码:
git log [分支名称]
命令不指定分支名称,则默认查看当前分支提交信息。
branch
命令用于管理和查看分支。
查看所有本地分支
运行如下代码:
git branch
列出所有本地分支,并在当前分支前面加上一个星号 *
。
查看所有远程分支
运行如下代码:
git branch -r
查看所有分支(包括远程分支)
运行如下代码:
git branch -a
创建分支
运行如下代码:
git branch <新分支名称>
删除本地分支
运行如下代码:
git branch -d <分支名称>
强制删除本地分支
强制删除一个分支(即使该分支有未合并的更改),可以使用 -D
选项,运行如下代码:
git branch -D <分支名称>
删除远程分支
删除远程分支,运行如下代码:
git push origin --delete <分支名>
重命名分支
重命名当前分支,可以使用 git branch -m
命令,运行如下代码:
git branch -m <新分支名称>
重命名其他分支 ,运行如下代码:
git branch -m <旧分支名称> <新分支名称>
checkout
不同分支之间切换
使用git checkout 或 git switch适用于 Git 2.23 及以上版本)命令切换分支
运行如下代码:
git checkout <分支名>
git switch <分支名>
创建并切换到新分支
使用 git checkout -b
或git switch -c 命令进行创建并切换分支
运行代码如下:
git checkout -b <新分支名>
git switch -c <新分支名>
status
显示当前仓库的状态,包括哪些文件被修改、哪些文件被暂存等。
运行如下命令:
git status
config
配置相关信息
配置用户名和邮箱
git config --global user.name "username"
git config --global user.email "[email protected]"
查看配置信息
git config --list
清除配置的用户名和密码
下次提交代码时会让重新输入账号密码:
git config --system --unset credential.helper
生成SSH公钥-ssh-keygen
执行如下命令,然后一直回车直到结束为止
ssh-keygen -t rsa -C “[email protected]”
执行完后,会在 ~/.ssh目录下生成密钥和私钥,结果如下:
进入到在Mac中~/.ssh目录下,使用快捷键 “command + shift + .",将隐藏文件显示出来,即可查看里面的内容。
查看Git配置中使用的SSH密钥关联的邮箱
git config --global --get user.email
执行结果如下:
参考资料
更多内容请查阅官网: