跳至主要內容

Git 命令

酷风大约 3 分钟

Git 命令

编译安装

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

下载完成后通过Xshell等工具将压缩包上传到服务器指定目录,我是上传到 /usr/local/src下的
解压到 /usr/local/src 目录下
tar -zxvf git-2.31.1.tar.gz -C /usr/local/src/
编译安装
#进入解压后的目录
cd /usr/local/src/git-2.31.1/
#执行编译安装
./configure --prefix=/usr/local/git
make 
make install
设置环境变量
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/profile
source /etc/profile
验证版本后是否正常
[root@honghua-centos-02 ~]# git --version
git version 2.31.1
若上述步骤初夏如下显示,则表示当前git为系统自动带git
[root@iZbp1flzt6x7pxmxfhmxeeZ git-2.31.1]# git --version
git version 1.8.3.1
卸载系统自带的git(前面如果执行了,这里不用在执行了)
#卸载系统自带git
yum remove git -y
#重新执行如下命令更新环境变量
source /etc/profile
#再次查看版本,如下表示OK
[root@honghua-centos-02 ~]# git --version
git version 2.31.1

常用命令

关联远程仓库

git remote add origin http://xxx.git

关联远程分支

git fetch origin
git checkout -b xxx origin/xxx

tag 分支关联

git fetch

# 查看tag列表
git tag
xx-v1
xx-v2

# 关联tag到新分支
git checkout xx-v1 -b tag-xx-v1

tag 分支切换(查看、做试验性的修改及提交)

git fetch

# 查看tag列表
git tag

git checkout $tag

git checkout $tag
注意:正在切换到 '$tag'。

您正处于分离头指针状态。您可以查看、做试验性的修改及提交,并且您可以在切换
回一个分支时,丢弃在此状态下所做的提交而不对分支造成影响。

如果您想要通过创建分支来保留在此状态下所做的提交,您可以通过在 switch 命令
中添加参数 -c 来实现(现在或稍后)。例如:

  git switch -c <新分支名>

或者撤销此操作:

  git switch -

通过将配置变量 advice.detachedHead 设置为 false 来关闭此建议

HEAD 目前位于 85c0641 error comment

git 基变

取消基变

git config --global pull.rebase false

git config --lobal pull.rebase false

基变操作

解决 Git 变基后的合并冲突open in new window

git merge master
# 合并后冲突,交互式变基操作正在进行中
# 解决冲突后
git rebase --continue # 以便 Git 继续处理变基的其余部分
# 再次merge master 正常,然后提交现有分支

还原

git log # 查询要还原的 commit id
git reset --hard $id

git 2.x centos.yum.rpm

# 1.设置下载源
yum install http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-2.noarch.rpm
# 2.安装
yum install git

配置命令

  • git命令别名
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.st status
git config --global alias.br branch
git config --global alias.mg merge
  • git用户配置--全局/局部(当前仓库有效)
// 全局有效
git config --global user.name 'name'
git config --global user.email 'name@domain.com'

cd /xxx/repo_dir
// 当前仓库有效
git config --local user.name 'name'
git config --local user.email 'name@domain.com'

git config --local  --list
git config --global  --list

命令问题

refname is ambiguous

git 克隆某个tag分支,本地无法基于创建新分支

警告:refname 'v4.3.2' is ambiguous.
致命错误:歧义的对象名:'v4.3.2'
git branch -m v4.3.2 localv4.3.2
git branch xxx