升级 Git 到最新版本
Centos7 自带 git 版本为 1.8.3.1,查看 git 版本:
git --version
卸载老版本git:
yum remove -y git
安装依赖包
yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel yum -y install gcc automake autoconf libtool make yum install gcc gcc-c++ yum -y install wget
到git官网查看最新的版本为 2.32.0:
下载 git 2.32.0 并将 git 添加到环境变量中,按顺序执行:
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.32.0.tar.gz tar zxvf git-2.32.0.tar.gz cd git-2.32.0 ./configure --prefix=/usr/local/git make && make install
配置全局路径
修改 /etc/profile 文件:
vi /etc/profile
在文件末尾加上如下两行代码:
PATH=$PATH:/usr/local/git/bin export PATH
最后执行命令使其修改生效:
source /etc/profile
查看版本号:
git --version
初次运行 Git 前的配置
在新的系统上,我们一般都需要先配置下自己的 Git 工作环境。配置工作只需一次,以后升级时还会沿用现在的配置。当然,如果需要,你随时可以用相同的命令修改已有的配置。
Git 提供了一个叫做 git config 的工具(译注:实际是 git-config 命令,只不过可以通过 git 加一个名字来呼叫此命令。),专门用来配置或读取相应的工作环境变量。而正是由这些环境变量,决定了 Git 在各个环节的具体工作方式和行为。这些变量可以存放在以下三个不同的地方:
/etc/gitconfig 文件:系统中对所有用户都普遍适用的配置。若使用 git config 时用 --system 选项,读写的就是这个文件。
~/.gitconfig 文件:用户目录下的配置文件只适用于该用户。若使用 git config 时用 –global 选项,读写的就是这个文件。
当前仓库的 Git 目录中的配置文件(也就是工作目录中的 .git/config 文件):这里的配置仅仅针对当前仓库有效。每一个级别的配置都会覆盖上层的相同配置,所以 .git/config 里的配置会覆盖 /etc/gitconfig 中的同名变量。
用户信息配置
第一个要配置的是你个人的用户名称和电子邮件地址。这两条配置很重要,每次 Git 提交时都会引用这两条信息,说明是谁提交了更新,所以会随更新内容一起被永久纳入历史记录:
git config --global user.name "yunkui" git config --global user.email yunkui@live.com
设置 push.default 的值
当 push.default 的值设置成 ‘matching’ ,git 将会推送所有本地已存在的同名分支到远程仓库
从 Git 2.0 开始,git 采用更加保守的值’simple’,只会推送当前分支到相应的远程仓库,’git pull‘ 也将值更新当前分支。
两者的区别上面也说了,所以我就采用新的保守值吧,输入:
git config --global push.default simple
查看配置信息
要检查已有的配置信息,可以使用 git config --list 命令:
$ git config --list user.name=yunkui user.email=yunkui@live.com push.default=simple ...
简易的命令行入门教程:
创建 git 仓库:
mkdir test cd test echo "# test" >> README.md git init git add README.md git commit -m "first commit" git remote add origin git@github.com:wuyunkui/test.git git push -u origin master
已有仓库?
git remote add origin git@github.com:wuyunkui/test.git git push -u origin master
或者:
git init git pull git@github.com:wuyunkui/test.git git add -A git commit -m "first commit" git push --set-upstream git@github.com:wuyunkui/test.git master
通过 git clone 克隆仓库/项目
我们以仓库 git@github.com:wuyunkui/sample-project.git 为例,对项目/仓库进行克隆。
通过HTTPS协议克隆
git clone https://github.com:wuyunkui/sample-project.git
通过SSH协议克隆
git clone git@github.com:wuyunkui/sample-project.git
注:该方法虽然将仓库完整的拉取了下来,但是仅仅只会是显示默认分支,如果需要直接到指定的分支,可以在仓库地址后面加上分支名。
通过 git pull 同步
同步,也可以称之为拉取,在Git中是非常频繁的操作,和SVN不同,Git的所有仓库之间是平等的,所以,为了保证代码一致性,尽可能的在每次操作前进行一次同步操作,具体的为在工作目录下执行如下命令:
# 通过HTTPS协议同步 git pull https://github.com:wuyunkui/sample-project.git # 通过SSH协议同步 git pull git@github.com:wuyunkui/sample-project.git
仓库基本管理
初始化一个Git仓库(以/home/gitee/test文件夹为例)
#进入git文件夹 cd /home/gitee/test #初始化一个Git仓库 git init
将文件添加到Git的暂存区
git add README.md
提交当前仓库的所有改动
git add -A # 或者 git add .
查看仓库当前文件提交状态(A:提交成功;AM:文件在添加到缓存之后又有改动)
git status -s
从Git的暂存区提交版本到仓库,参数-m后为当次提交的备注信息
git commit -m "first commit"
通过 git push 推送
将本地的Git仓库信息推送上传到服务器
# 通过HTTPS协议推送 git push https://github.com:wuyunkui/test.git # 通过SSH协议 推送 git push git@github.com:wuyunkui/test.git
查看git提交的日志
git log
更改远程仓库
查看当前远程仓库名字,移除并添加远程仓库为 gitee
git remote -v git remote rm origin git remote add origin git@gitee.com:yunkui/test.git git push -u origin master
更改远程仓库
git version # 查看git版本 git init # 初始化项目 git clone # 下载远程项目 git add . # 添加所有文件 git diff [HEAD] # 查看提交改动 git commit # 提交添加的改动 git revert # 撤销提交 只要把出错的提交(commit)的名字(reference)作为参数传给命令 git rm # 删除文件 git mv # 移动 git branch # 查看分支 git branch -v # 查看最后一次提交 git branch xx # 创建分支 git branch -d xx # 删除分支 git checkout (xxx) # 切换分支 git tag -a [v1.0] # 创建过滤文件 git pull # 新提交 git push # 提交到远程仓库