Git学习整理

学习环境:Linux Ubuntu 15.04

  1. 安装:
    sudo apt-get install git,安装完后记得配置用户信息,这样才能使用Git哦!配置用户信息请参考7.Git配置第二条;
  2. 创建版本库:
    1)创建目录:mkdir folder,cd folder,pwd;
    2)初始化:git init;
    3)查看.git目录:ls -ah;
    4)创建文件;
    5)添加文件到git:git add filename;
    6)提交:git commit -m “描述语”。
  3. 版本管理:
    1)查看状态:git status;
    2)查看修改内容:git diff filename;
    3)查看提交历史记录:git log或 git log –pretty=oneline;
    4)回退版本:git reset –hard commit_id,上一个版本就是HEAD^,上上一个版本就是HEAD^^,往上一百个版本则描述成HEAD~100;
    5)查看所有版本ID:git reflog;
    6)工作区与暂存区:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库;Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD;git add实际上就是把文件修改添加到暂存区,而git commit实际上就是把暂存区的所有内容提交到当前分支;
    7)撤销修改:
    场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout – file;
    场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作;
    场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库;
    8)删除文件:rm filename->git rm filename->git commit,如果删错需要撤回使用git checkout – filename;
  4. 远程仓库:
    1)创建远程仓库:先创建SSH Key,在用户目录下输入ssh-keygen -t rsa -C “youremail@example.com”,生成.ssh目录,包含id_rsa和id_rsa.pub两个文件,再登陆GitHub,打开“Account settings”,“SSH Keys”页面,点击“Add SSH Key”,在Key文本框中粘贴id_rsa.pub中的内容,点击“Add Key”;
    2)添加远程库并关联本地仓库:首先在GitHub上创建仓库,再将本地仓库关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;关联后,使用命令git push -u origin master第一次推送master分支的所有内容;此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
    3)克隆远程仓库到本地:使用命令git clone git@server-name:path/repo-name.git;
  5. 分支管理:
    1)查看分支:git branch;
    2)创建分支:git branch ;
    3)切换分支:git checkout ;
    4)创建+切换分支:git checkout -b ;
    5)合并某分支到当前分支:git merge ;
    6)删除分支:git branch -d ,强制删除分支:git branch -D ;
    7)查看分支合并图:git log –graph;
    8)普通合并分支:禁用Fast forward,使用命令git merge –no-ff -m “describe” branchname;
    9)查看远程库信息:git remote或者git remote -v;
    10)推送分支:git push origin branchname;
    11)本地与远程分支对应:git checkout -b branchname origin/branchname;
    12)本地与远程分支关联:git branch –set-upstream-to origin/branchname branchname;
    13)抓取分支:git pull;
  6. 标签管理:
    1)创建标签:git tag ;
    2)创建制定提交版本标签:先查看历史提交的commit id:git log –pretty=oneline –abbrev-commit,git tag commit_id;
    3)查看所有标签:git tag;
    4)查看标签信息:git show
    5)删除标签:git tag -d ;
    6)推送标签:git push origin –tags或git push origin ;
    7)删除远程标签:git push origin :refs/tags/,前提是先删除本地的标签;
  7. Git配置:
    1)显示颜色:git config –global color.ui true;
    2)配置用户信息:git config –global user.name “Your Name”,
    git config --global user.email "email@example.com";
    
    3)配置别名:git config –global alias.st status,
    git config --global alias.co checkout,
    git config --global alias.ci commit,
    git config --global alias.br branch,
    git config --global alias.unstage 'reset HEAD';
    
    4)忽略特殊文件:不需要从头写.gitignore文件,GitHub已经为我们准备了各种配置文件,只需要组合一下就可以使用了。所有配置文件可以直接在线浏览:https://github.com/github/gitignore.
文章目录
,