git


目录
  • git 命令
  • git可视化工具
  • gitlab

git 命令

一、安装git

yum update -y
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

wget https://github.com/git/git/archive/v2.7.4.zip
unzip v2.7.4.zip
cd git-2.7.4

make prefix=/usr/local/git all
make prefix=/usr/local/git install
rm -rf /usr/bin/git   #centos7 自带的1.8.3.1 
ln -sv /usr/local/git/bin/git /usr/bin/git
git --version	

二、git之旅

  1. 创建空目录**mkdir test && cd test**

  2. 初始化仓库git init

  3. 告诉git我是谁git config --global user.email "1209233066@qq.com"

    git config --global user.name "1209233066"

  4. 测试一个提交touch readme.md && git add . && git commit -m "wrote readme"

  5. 查看提交的记录git log

    git log --pretty=oneline

  6. 向前回滚

    查看当前所处提交 git reset --hard HEAD

    回滚到上一个提交 git reset --hard HEAD^

    回滚到上上个提交 git reset --hard HEAD^^

    回滚到前100个版本 git reset --hard HEAD~100

    回滚到指定版本 git reset --hard 1094a

  7. 向后回滚

    查看提交记录 git reflog

    向前回回滚 git reset --hard 1094a

  8. 撤销修改

    1. 未提交到 暂存区 **git checkout -- filenme**

    2. 已经执行git add filename提交到 暂存区

      git reset HEAD filname

      git checkout -- filename

  9. 删除版本库文件 git rm filename; git commit -m "delete filename"

  10. 关联远程仓库

    git remote add origin git@github.com:michaelliao/learngit.git

    git remote -v

    第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来

    git push -u origin master

    以后修改后在提交 git push origin master

    删除与远程仓库的关联git remote rm origin

    克隆远程仓库 git clone https://gitee.com/mingtian66/flask.git

  11. 分支

    创建并切换到分支 git checkout -b readme 等同于 git branch readme; git checkout readme

    查看当前所处分支 git branch
    合并分支 git merge readme

    合并后删除分支 git branch -d readme

  12. tag,便于人类查找

    对当前提交打tag git tag v1.0
    对指定提交打tag git tag v1.0 8a29a3b0
    对指定版本打tag 并附上文字说明 git tag -a v0.1 -m "version 0.1 released" 1094adb
    查看做了哪些 tag git tag
    查询指定tag的详细信息 git show v1.0
    commit 8a29a3b0d91cbcc4fad4151315ef07b0ae4a2d40 (HEAD -> readme, tag: v1.0, origin/readme)

    推送指定tag到远端仓库 git push origin v1.0
    推送所有tag到远端仓库 git push origin --tags

    删除tag git tag -d v1.0

    如果需要删除一个已经推送到远程仓库的tag
    git tag -d
    git push origin :refs/tags/

git可视化工具

sourcetreeapp

gitlab

Git