Git

安装:

  1. 使用 yum 安装

    1
    yum install -y git
  2. 配置用户名和邮箱(全局)

    1
    2
    $ git config --global user.name "username"
    $ git config --global user.email "email"
  3. 查看用户名和邮箱

    1
    2
    $ git config user.name
    $ git config user.email
  1. 查看仓库当前状态

    1
    $ git status
  2. 查看文件修改内容

    1
    $ git diff readme.txt
  3. 查看提交历史

    1
    $ git log

添加 –graph 参数可查看分支合并图

  1. 切换版本

    1
    2
    $ git reset --hard HEAD^ // 回到上一个版本
    $ git reset --hard 5fbd7b // 去到版本 5fbd7b
  2. 查看命令历史

    1
    $ git reflog
  3. 让文件回到最近一次 git commit 或 git add 时的状态

    1
    $ git checkout -- <file>
  4. 把暂存区的修改撤销掉(unstage),重新放回工作区

    1
    $ git reset HEAD <file>
  5. git checkout命令加上-b参数表示创建并切换

    1
    2
    3
    4
    $ git checkout -b dev
    # 相当于以下两条命令:
    $ git branch dev
    $ git checkout dev
  6. 删除分支

    1
    $ git branch -d dev
  7. 合并分支

    1
    2
    $ git merge feature1 # 如果可能,使用 Fast Forward 模式合并
    $ git merge --no-ff -m "merge with no-ff" dev # no-ff 参数保留分支提交记录
  8. 保存、恢复工作现场

    1
    2
    $ git stash # 保存工作现场
    $ git stash pop # 恢复工作现场
  9. 创建一个 git 用户,用来运行 git 服务

    1
    2
    useradd git # 添加 git 用户
    passwd git # 设置密码
  10. 创建一个目录,专门存放 git 仓库

    1
    2
    mkdir /git
    chown -R git:git /git0
  11. 创建一个空仓库

    1
    2
    git init --bare /git/demo.git
    chown -R git:git /git/demo.git

权限:

  1. 在 shell(Linux) 或 Git Bash(Windows)中运行
    1
    ssh-keygen -t rsa -C "linhuaxin@foxmail.com"

一路回车,在 Linux 的 /root/.ssh/ 目录下或 Windows 的 C:/Users/zero/.ssh/ 目录下
会生成 id_rsa(私钥)和 id_rsa.pub(公钥)

  1. 导入公钥
    1
    cat id_rsa.pub >> /home/git/.ssh/authorized_keys

使用:

  1. 新建本地仓库

    1
    2
    3
    4
    git init
    touch README
    git add README
    git commit -m 'first commit'
  2. 推送本地库到远程库

    1
    2
    git remote add origin git@linhuaxin.com:/git/demo.git
    git push -u origin master # 可直接使用 IED 提交,第一次提交才加参数 -u

命令:

  1. 用户名和邮箱地址的作用
    用户名和邮箱地址是本地git客户端的一个变量,不随git库而改变。
    每次commit都会用用户名和邮箱纪录。
    github的contributions统计就是按邮箱来统计的。

  2. 获取主分支最新版本

    1
    $ git pull origin master:master
  3. 切换分支

    1
    $ git checkout -b quanlin origin/quanlin

参考

  1. git 切换远程分支