Git常用命令

SSH KEY

  • 以github和gitee代码托管平台为例

  • 检测本地是否生成过ssh key
    cd ~/.ssh && ls 如有id_rsa.pub或者类似的,则意味着之前生成过

  • 生成github ssh key
    $ ssh-keygen -C "[email protected]"
    根据提示,还可依次设置文件名(github_id_rsa)、密码(abc123)

  • 生成后的github ssh key 为

$ cat ~/.ssh/github_id_rsa_pub
  ssh-rsa AAAABQABAAABAQDU1/3fv6akYZTm05a5vqyG8BHQp238Iw0eStP60AY0msjETdgytngjIq2fx501bwewouGhIknc6zgasbbaOgtLJ+34EYYkt05OUjoCB9XykfDqpi1hvKFd9MGDZIh5lNw2qJMyLA4IbBD3uNDvZsACulp538ivf5urvTvR5jATaUztP2iB5RHKAeYfXbxA5+GuNU91Z8nqM0M40qPooRBLlZCX3cVRh5firMpgeUOQD3UUv/Ku/pb0YcbaZLmYDBi74gh78wWLtskjlxAUD8bl2XEiGbaE5kZycdB3+izSL0JaE4pdRTupeanebGGoAceIqzoxp1YXn86S7PyiL49j [email protected]
  • 将github ssh key 放置服务端
    (进入个人设置--SSH and GPG keys--New SSH key)


    Git常用命令_第1张图片
    new ssh key button.png

    (将上一步生成的ssh key添加进去)


    Git常用命令_第2张图片
    add ssh key button.png

    (创建一个仓库)
    Git常用命令_第3张图片
    your rep.png

    Git常用命令_第4张图片
    create_rep.png
  • 生成gitee ssh key
    $ ssh-keygen -C "[email protected]"
    根据提示,还可依次设置文件名(gitee_id_rsa)、密码(abc123)
    后续操作,请参考上一步github的操作

  • 设置配置文件:

$ vim config

# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id_rsa
# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitee_id_rsa

全局设置

  • 设置全局成员名称
    $ git config --global user.name "person"
  • 设置全局成员邮箱
    $ git config --global user.email "[email protected]"
  • 查看全局成员名称
    $ git config --global user.name
  • 查看全局成员邮箱
    $git config --global user.email

局部设置

  • 设置当前项目成员名称
    $ git config user.name "joe"
  • 设置当前项目成员邮箱
    $ git config user.email "[email protected]"
  • 查看当前项目成员名称
    $ git config user.name
  • 查看当前项目成员邮箱
    $ git config user.email

创建版本库

$ cd /d && mkdir test && cd test
$ git init

添加、提交

$ git add xxx.txt
$ git commit -m "第一次提交"

文件比较

$ git diff xxx.txt 工作区(work dict)与暂存区(stage)比较
$ git diff --cached xxx.txt 暂存区(stage)与分支(master)比较
$ git diff HEAD --xxx.txt 工作区(work dict)与分支(master)比较

查看Git 当前状态

$ git status

查看commit记录

$ git log

版本退回

  • 退回上一个版本:
    $ git reset --hard HEAD^
  • 退回指定版本:
    $ git reset --hard 2e80dd05448650c1ffe47703ee7e1e980e399e3a
  • 指定文件退回最近的版本
    $ git reset HEAD xxx.txt

查看命令记录

$ git reflog

撤销修改

  • 修改工作区文件,未git add,欲撤销
    $ git checkout -- xxx.txt
  • 修改工作区,操作过git add,欲撤销
    $ git reset HEAD -- xxx.txt
    $ git checkout -- xxx.txt

版本库中删除文件xxx.txt

$ git rm xxx.txt
$ git commit -m "delete xxx.txt"

本地 → 远程仓库

  • 添加一个新的远程仓库test_git
    $ git remote add test_git [email protected]:liudehua/test_git.git
  • 列出当前所有远程仓库
    $ git remote
  • 列出当前所有远程仓库(包含详细信息)
    $ git remote -v
  • 删除一个远程仓库test
    $ git remote remove test
  • 将本地仓库master分支 同步到远程仓库test_git
    $git push test_git master

远程仓库 → 本地

分支

  • 查看当前库所有分支
    $ git branch
  • 在当前分支HEAD创建子分支newNode
    $ git branch newNode
  • 切换到分支master
    $ git checkout master
  • 创建分支newNode && 切换到newNode
    $ git checkout -b newNode
  • 合并newNode分支到当前分支master
    $ git merge newNode
  • 删除分支newNode
    $ git branch -d newNode
  • 查看git图形日志
    $ git log --graph

你可能感兴趣的:(Git常用命令)