Git基本命令

 

基于指针和快照


 

一、基本命令操作

----8月19日----

1.本地库初始化:git  init;(生成.git目录,存放本地库相关的子目录和文件)

2.设置用户签名:git  config  user.name  demo;git  config  user.email demo           项目级别设置,当前仓库                 将相关信息保存在.git/config下

        git  config  user.name  --global demo;git  config  user.email --global demo     系统级别设置,全局         将相关信息保存在~/.gitconfig下

        (区分不同开发人员身份,不设置签名无法git commit)

 

----8月26日----

3.查看本地库(工作区、暂存区)状态:git  status

4.文件添加到暂存区(新添加的文件必须先执行此操作再提交,修改的可不用):git  add  <file>

5.从暂存区移除文件:git  rm  --cached  <file>

6.从暂存区提交到本地库:git  commit  <file>    提交时进入编辑器为提交添加注释    带注释提交:git  commit  -m  "my annotation"  <file>

7.查看提交历史记录:git  log

          git  log  --pretty=oneline(单行显现)

          git  log  --oneline(单行显现)

          git  reflog(到某一个版本需要移动步数,显示前后全部版本)

8.版本的前进后退(本质:HEAD指针的操作,基于索引):

          git  reset  --hard  <hashCode>

          git  reset  --hard   HEAD  ^  (往后退一步,多少个^则多少步)

          git  reset  --hard   HEAD  ~n  (往后退一(n)步吗

            git  reset  三个参数的对比: git  reset  --soft       :仅仅在本地库移动HEAD指针(需重新commit以保持一致)

                          git  reset  --mixed   :在本地库移动HEAD指针、重置暂存区(需重新commit以保持一致)

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

9.删除文件找回:(删除前,文件存在时的状态需提交到了本地库)

          通过git  reset  --hard  <hashCode> 找回

            --删除操作已经提交到本地库:指针位置指向历史记录

            --删除操作尚未提交到本地库:指针位置使用HEAD

10.比较文件差异(不带文件名比较多个文件)

      git  diff  <file>:将工作区中的文件和暂存区进行比较;

      git  diff  <hashCode>  <file> :将工作区的文件和本地库历史记录比较

 


 

二、分支的处理

1.查看所有分支:git  branch  -v

2.创建分支:git  branch  <branch_name>

3.切换分支:git  checkout  <branch_name>

4.合并分支(需切换到接收修改的分支上)

      git  merge  <branch_name>

5.解决冲突:①编辑文件,删除特殊符号;

      ②把文件修改到满意的程度,保存退出;

      ③git  add  <file_name>

      ④git  commit  -m ‘my annotation’(此时不能带文件名)。

 

 


 ----9月2日----

、关于github的操作

1.给查看所有创建别名:git  remote  -v

2.创建别名:git  remote  add  <nikeName>  <url>

3.将本地内容推送到远程库:git  push  <url>  <branch>

4.将远程内容克隆到本地:git  clone  <ulr>

            三个效果:①完整的把远程库下载到本地;②创建origin远程地址别名;③初始化本地库

5.将远程的更改拉到本地:git  pull  <url>  <branch>    (相当于git  fetch 和git  merge 的结合)

 

6.跨团队协作:首先Fork资源-------->本地修改并推送到自身远程库-------->pull request--------> new pull  request-------->create pull request-------->comfirm merge

 

 

        

          

 

    

          

          

 

 

 

 

 

        

 

posted @ 2018-08-19 17:20  Beansczm  阅读(164)  评论(0编辑  收藏  举报