CENTOS6通过yum源安装git1.8
增加源
1 | wget -O /etc/yum.repos.d/git.repo https://gitlab.com/gitlab-org/gitlab-recipes/raw/master/install/centos/PUIAS_6_computational.repo |
增加key
1 | wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-puias http://springdale.math.ias.edu/data/puias/6/x86_64/os/RPM-GPG-KEY-puias && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-puias |
安装
yum install -y git
命令整理
- git config
- --global user.name “kingwen0302”
- --global user.email “kingwen0302@msn.com“
- --global color.ui “auto”
添加一个文件到暂存区
一个文件在git add
后, 再次编辑后, git commit
只提交git add
之前的编辑
- -i 交互模式
- -p patch模式
- git branch
- 无参数 列出所有分支
- branch_name 创建分支,已当前的所在分支为父
- new_branch_name father_branch_name 创建分支
- -d branch_name 删除已经合并的分支,没有合并的不能删除
- -D branch_name 强制删除分支
- -m old_branch_name new_branch_name 分支改名
git checkout
- branch_name 切换到分支
- -b branch_name exists_branch_name 创建分支branch_name&&切换到分支
git status
- Changes to be commited(要提交的变更)
- Changed but not updated(尚未暂存以备提交的变更)
git diff
- 无参数 对比未暂存的改动
- –cached 对比已暂存的与HEAD的改动
- HEAD 比较工作目录树中暂存和未暂存的改动
git commit
- -a 所有文件提交
- -m 注释 可以有多个-m
- –amend 增补提交
- -C HEAD 复用HEAD的提交留言
git mv
.gitignore
- .gitignore
- .git/info/exclude
git merge
直接合并(straight merge)
压合合并(squashed commits)
拣选合并(cherry-picking)- be_merge_branch 将be_merge_branch合并到当前分支中
- –squash be_merge_branch 将be_merge_branch合并到当前分支的暂存区, 需要手动执行
git commit
操作 - git cherry-pick 321d76f 将提交名称为321d76f的合并到当前分支
git reset
- –hard HEAD 重置为HEAD版本,删除暂存/未暂存的文件
- HEAD 重置为HEAD版本, 暂存/未暂存的文件不删除
- HEAD^ 重置为HEAD前一个版本
git log
^ HEAD1 是父记录2 是爷爷记录
^^ HEAD
^^^ HEAD~3 是爸爸的爷爷记录- -N N为数字 列出最近N条记录
- –since=”5 hours” 最近5小时
- –before=”5 hours” 5小时之前
- 18f822e..HEAD 从(18f822e HEAD]范围内的记录
- –pretty=format:”%h %s” 格式化
git diff
diff 默认是与当前目录树进行对比- 18f822e 对比18f822e与当前目录树对比
- –stat tag/branch 统计代码改动
git blame
- file 显示所有的代码记录
- -L 12,13 file
- -L 12,+2 file
- -L 12,-2 file
- -L “/</body>/“,+2 file
git revert
git rebase
- 重新排序提交