Linux服务器git配置及常用命令
tar 压缩包安装配置
卸载旧版本
yum 直接卸载
1
yum remove git
查看 git 安装目录
1
2
3
4
5which -a git
# 显示出来 git 安装路径
cd /git安装路径
# 执行删除命令
rm -rf git*
下载 git 安装包
官方镜像地址:https://mirrors.edge.kernel.org/pub/software/scm/git/
在服务器目录下下载 git 对应版本
1 | wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.40.0.tar.gz |
解压
1 | tar -zxvf git-2.40.0.tar.gz |
安装可能需要的依赖
1 | yum install curl-devel expat-devel openssl-devel zlib-devel gcc-c++ |
进入 git-2.40.0 文件夹下,进行编译安装等命令
1 | # 安装编译 git 可执行文件,并指定文件位置 |
配置环境变量
1 | # 编辑 profile 文件 |
查看版本 git --version
,出现以下内容则说明安装配置成功
1 | [root@aliyun /]# git --version |
设置密钥
1 | ssh-keygen -t rsa -C "xx@xx.com" |
yum 安装配置
yum 安装最简单,但无法控制安装的版本
1 | yum -y install git |
Git常用命令最全总结
基本命令
git init
:初始化一个 Git 仓库。git clone <repository>
:克隆一个 Git 仓库到本地。git add <file>
:将指定文件添加到暂存区。git add .
:将所有修改过的文件添加到暂存区。git commit -m "message"
:提交所有已经添加到暂存区的文件到本地仓库,并附带一条提交信息。git status
:查看工作目录和暂存区的状态。git diff
:查看工作目录和暂存区之间的差异。git log
:查看提交日志。git checkout <branch>
:切换到指定分支。git branch
:查看所有分支。git merge <branch>
:将指定分支合并到当前分支。git pull
:从远程仓库拉取最新代码到本地仓库。git push
:将本地仓库最新代码推送到远程仓库。
高级命令
git stash
:将工作区的改动保存到一个新的 stash 中。git stash list
:列出所有 stash。git stash apply
:将最近的 stash 应用到工作区。git stash drop
:删除最近的 stash。git stash pop
:应用最近的 stash 并删除它。git reset <file>
:将指定文件在暂存区的修改回退到工作目录。git reset --hard HEAD
:将工作目录和暂存区中的所有修改回退到最新的本地提交。git revert <commit>
:撤销指定的提交。git cherry-pick <commit>
:将指定提交合并到当前分支。git rebase <branch>
:将当前分支变基于指定分支。git tag
:列出所有 tag。git tag <tag>
:创建一个新 tag。git tag -a <tag> -m "message" <commit>
:创建一个带有附注信息的新 tag。git push --tags
:将所有 tag 推送到远程仓库。git fetch <remote>
:从远程仓库获取最新代码。git remote
:查看远程仓库列表。git remote add <name> <url>
:添加一个新的远程仓库。git remote remove <name>
:删除指定的远程仓库。git remote set-url <name> <newurl>
:修改指定远程仓库的 URL。
Git 分支操作
git branch
:列出本地分支列表。git branch -a
:列出本地和远程分支列表。git branch <branch-name>
:新建分支。git branch -d <branch-name>
:删除分支。git checkout <branch-name>
:切换到指定分支。git checkout -b <new-branch-name>
:创建新分支并切换到该分支。git merge <branch-name>
:合并指定分支到当前分支。git merge --no-ff <branch-name>
:不使用快进模式合并指定分支到当前分支。git log --graph
:以图表的形式显示分支的合并情况。
Git 标签操作
git tag
:列出所有本地标签。git tag -l "pattern"
:列出所有符合指定模式的标签。git tag <tag-name>
:新建标签。git tag -a <tag-name> -m "message"
:使用附注信息新建标签。git tag -d <tag-name>
:删除标签。git push origin <tag-name>
:推送指定标签到远程仓库。git push origin --tags
:推送所有本地标签到远程仓库。git checkout <tag-name>
:切换到指定标签。
Git 远程仓库操作
git clone <repository>
:克隆远程仓库。git pull
:拉取远程仓库最新代码。git fetch <remote>
:从远程仓库获取最新代码。git push
:将本地仓库最新代码推送到远程仓库。git pull <remote> <branch>
:从远程仓库拉取指定分支的最新代码。git push <remote> <branch>
:将本地仓库的最新代码推送到指定远程仓库的指定分支。git remote add <name> <url>
:添加一个新的远程仓库。git remote remove <name>
:删除指定的远程仓库。git remote set-url <name> <new-url>
:修改指定远程仓库的 URL。git remote -v
:查看远程仓库列表和对应 URL。
Git 配置
git config --global user.name "name"
:设置用户名称。git config --global user.email "email"
:设置用户邮件地址。git config --global core.editor "editor"
:设置默认编辑器。git config --global alias.<alias-name> "<command>"
:设置别名。git config --list
:列出所有 Git 配置。
Git 撤销操作
git reset <file>
:取消暂存文件。git reset --hard
:撤销所有未提交的修改。git reset HEAD^
:回退一个版本。git reset HEAD^^
:回退两个版本。git reset HEAD~100
:回退100个版本。git reset -hard HEAD~1
: 回退上一个版本。git reset -hard 3de025010585d
:通过提交生成的哈希码回退版本,注意哈希码不用全部输入,输入前几个字节就可以识别出来。git checkout <file>
:取消对文件的修改。git checkout .
:撤销所有修改,包括已经暂存的和未暂存的修改。git revert <commit>
:撤销指定提交的修改,生成一条新的提交记录。
Git 历史操作
git log
:显示提交日志。git log --graph
:以图形化方式显示提交日志。git log --oneline
:显示简化版的提交日志。git blame <file>
:显示指定文件的每一行是什么人在什么时间修改的。
Git 子模块操作
git submodule add <repository> <path>
:添加子模块。git submodule init
:初始化子模块。git submodule update
:更新子模块。git submodule foreach <command>
:对每个子模块执行指定命令。
Git 忽略文件
.gitignore
:忽略指定文件或目录。git rm --cached <file>
:从 Git 仓库中删除指定文件,但在本地保留。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 师小师の博客!