git学习

在学习git之前,我们首先要清楚git的工作原理.git为分工作区,暂存区,本地库,远程库,各个区是什么意思呢?

工作区:也就是我们写代码的区域

暂存区:git add 之后的地方

本地库:git commit 之后存储的地方

远程库:git push 推送到远程库

本地库初始化:  git init

设置签名: 

          项目级别(仓库级别):本地库有效 

                  git config user.name xxx

                  git config user.mail xxx@qq.com

           系统用户级别:当前系统用户范围 

                 git config --global user.name = xxx

                 git config --global user.mail = xxx@qq.com

 提交暂存区:

         git add <file>

删除暂存区:

         git rm --cached <file>

查看工作区,暂存区状态:

         git status

提交到本地库:

         git commit -m '备注'  <file>

显示提交历史日志:

         git log //多页显示 空格下页,b上页q退出

         git log --pretty=oneline

         git reflog

版本之间的切换:

        基于索引:  git reset --hard <索引值>

        使用^: git reset --hard HEAD^   //只能后退,一个^表示一步

        使用~: git reset --hard HEAD~3 //表示后退3步

        git reset --soft :仅在本地库移动HEAD指针

        git reset --mixed:在本地库移动HEAD指针,重置暂存区

        git reset --hard:在本地库移动HEAD指针,重置暂存区,重置工作区

       

文件比较:

     工作区与暂存区:git diff <file>  //不指定文件名,列出所有

     暂存区与本地库:git diff HEAD <file>

 分支操作:

      查看分支:

            git branch -v

       创建分支:

            git branch <name>

       切换分支:

             git checkout <name>

        提交到分支:

      合并分支:

           1.切换到要合并的分支

          2. git merge <name>

      冲突解决:

           1.选择合适代码

           2.git add <file>

           3.git commit -m <remark>

       本地库推送到远程库:

              git remote -v

              git remote add origin <url>  //添加远程库到本地

              git push origin master //推送到远程

              git clone <url> //克隆

       拉取远程库:

              git pull  相当于下面两个命令

                      git fetch -- git merge

       ssh免密:

            ssh-keygen -t rsa -C <e-mail>

...
原文地址:https://www.cnblogs.com/javage/p/11314335.html