Git使用笔记

Ubuntu下安装步骤

  1. sudo apt-get install git完成git的安装
  2. 安装完成后进行配置
    • git config –global user.name “Your Name”
    • git config –global user.email “email@example.com”

连接GitHub

  1. 创建SSH Key,在用户主目录(~)下创建SSH Key:
    • ssh-keygen -t rsa -C “youremail@example.com”
    • 然后一路回车使用默认值即可。
  2. 执行完之后,我们可以找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的密钥对,id_rsa是私钥,id_rsa.pub是公钥。
  3. 登录GitHub,打开”Account settings”,找到”SSH Keys”页面,点击”Add SSH Key”,把id_rsa.pub文件中的内容粘贴过来。

创建版本库(Repository)

  • 新建一个目录: mkdir my_dir && cd my_dir
  • git init 把目录变成Git可以管理Repository
  • git add filename 将文件添加到仓库
  • git commit -m “xxxxx” 告诉Git把文件提交到Repository
    git add 命令可以执行多次,添加多个文件到仓库
    git commit 命令中 -m 后面输入的是本次提交的说明,可以输入任意内容

版本修改

  • git status 命令查看Repository当前的状态
  • git diff filename 查看修改过的但还没提交的文件与已经commit到仓库中的区别
  • git log 查看从最近到最远的提交日志

    在Git中用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^, 以此类推,往上10个版本可以写成HEAD~10。

  • 有时候后悔提交当前版本了,可以用git reset –hard HEAD^ 命令回退到上一个版本

  • 工作区(Working Directory)和版本库(Repository)的区别
    • 工作区就是指的某个目录,例如上面的my_dir。
    • 在my_dir中有一个隐藏目录.git,这个就是版本库。
      • 版本库中最重要的就是被称为stage(或者index)的暂存区,还有Git为我们自动创建的第一个分支master以及指向master的指针HEAD。
      • git add 命令就是把文件添加的暂存区
      • git commit 命令提交更改后,就是把暂存区的所有内容提交到当前分支
    • git checkout – filename 命令可以把文件在工作区的修改全部撤消掉,有两种情况:
      • 一种是filename文件修改后还没添加到暂存区,撤消修改之后就和版本库一样。
      • 一种是filename文件修改后添加到暂存区,撤消修改之后就回到添加到暂存区后的状态。
    • 当在工作区把某个文件删除了之后,版本库中还存在,这时用git status 命令可以看到版本库中那些文件在工作区被删除了,这时有两种选择:
      • 一种是确实要删除某个文件,那么版本库中也应该相应删除,可以使用git rm filename 并且git commit -m “xxxx” 命令在版本库中删除。
      • 另一种是删错了,那么可以使用git checkout – filename 命令把工作区误删的文件恢复到最新版。

远程仓库

  • git remote add origin git@github.com:xxxx/xxxx.git 命令将本地仓库与GitHub仓库关联。
    • 执行之后,远程库的名字就是origin。
  • git push -u origin master 命令把本地库中的所有内容推送到远程库中。
    • git push 命令就是把当前分支master推送到远程
    • 由于一开始远程库是空的,-u参数不仅能够将本地master分支内容推送到远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送和拉取时就可以简化命令。
    • 之后就可以用git push origin master 命令了。
    • 注意可以用git push -f命令来强制推送。
  • git clone git@github.com:xxxx/xxxx.git 命令从远程库中克隆一个到本地仓库

分支管理

  • git checkout -b dev 命令用于创建dev分支,参数-b表示创建并切换,相当于以下两条命令:
    • git branch dev
    • git checkout dev
  • git branch 命令查看当前分支
  • git merge dev 命令将dev分支的工作成果合并到master分支上
  • git branch -d dev 命令用于删除dev分支
  • git remote -v查看远程库更详细的信息
  • 从远程库中抓取分支,使用git pull命令。

参考博客

原文地址:https://www.cnblogs.com/wally/p/4477031.html