码迷,mamicode.com
首页 > 其他好文 > 详细

Git介绍

时间:2017-07-29 22:19:44      阅读:252      评论:0      收藏:0      [点我收藏+]

标签:www   htm   --   status   email   www.   gitignore   ref   .com   

Git介绍
git是一款源代码管理工具(版本控制工具)
人工去处理不同版本的代码(做相应的备份)会很麻烦

##Git安装

##初始化Git仓储/仓库
- 这个仓库会存放git对我们项目代码进行备份的文件
- 新建项目
  打开项目文件夹(工作区:不包括.git)
  右键git bash
  命令:‘git init’
  执行:初始化空的git仓库在新建项目目录(默认是隐藏文件夹.git)



##配置个人信息(姓名和邮箱)
- 就是在git中设置当前使用的用户是谁
- 每一次备份都会把当前备份者的信息存储
- 命令:
   + 配置用户名:‘ git config -- global user.name " zhy" ’
   + 配置邮箱:‘git config -- global user.email "827538259@qq.com" ’

##把代码存储到.git仓储中
- 1. 把代码放到仓储的门口(暂存区)
      + ‘ git add ./readme.md ’  把指定的文件放到git仓门口
      + ‘ git add ./ ’                    把所有修改 增加 删除的文件添加到git仓门口
- 2. 把仓储门口的代码放到里面的房间中去(版本库)
      +  ‘ git commit -m "这是对这次添加的东西的说明" ’

##查看当前状态
-  可以用来查看当前代码有没有被放到存储仓中去
-  命令:  " git status"





##可以一次性把我们修改的代码放到版本库里(房间)
- ‘  git commit --all -m "一些说明" ’
    + -- all 表示把所有修改的文件提交到版本库 

##git中忽略文件
- .gitignore,在这个文件中可以设置要被忽略的文件或者目录
- 被忽略的文件不会被提交到存储仓里面去
- 在.gitignore 中可以书写要被忽略的文件的路径,以 / 开头,
      一行写一个路径,这些路径所对应的文件都会被忽略
         不会被提交到仓储中
            + 写法
                * ‘ /.idea ’ 会忽略 .idea 文件
                * ‘ / js ’ 会忽略js目录里的所有文件
                * ‘ / js / * . * ’ 会忽略js目录里的所有文件



##查看日志
- ‘ git log ’查看历史提交的日志
- ‘ git log --oneline’ 可以看到简洁版的日志

##回退到指定的版本
- ‘ git reset --hard Head~0 ’
    + 表示回退到上一次代码提交时的状态
- ‘ git reset --hard Head~1 ’
    + 表示回退到上上次代码提交时的状态
- ‘ git reset --hard [版本号] ‘
    + 可以通过版本号精确地回退到某一次提交的状态
- ‘ git reflog ’
    + 可以看到每一次切换版本的记录

##git分支
- 默认是有一个主分支master

###创建分支
- ‘ git branch dev ’
   +  创建了一个dev分支
   +  在创建时dev分支里的东西和master分支里的东西是一样的

###切换分支
-  ‘ git checkout dev ‘
   + 切换到指定的分支,这里是切换到名为dev的分支
       ‘ git branch ‘ 可以查看当前有哪些分支

###合并分支
- ‘ git merge dev ‘
   + 合并分支内容,把当前分支与指定的分支(dev)合并
   + 当前分支指的是‘ git branch ’ 命令输出的前面带 * 的分支
-  合并时如果有冲突,需要手动去处理,处理后还需要再提交一次





###删除分支
- ‘ git branch -d dev ’
   + 删除dev分支,不能在当前分支中删除

###GitHub
- https://github.com
- 不是git 只是一个网站
- 只不过这个网站提供了允许通过git上传代码的功能

###提交代码到github(当做git服务器来用)
- ‘ git push [地址] master ’
  + 事例:git push https://github.com/zhao827538259/test112.git master
  + 会把当前分支的内容上传到远程的master分支上



###从gitHub上下载代码到本地
- ‘ git pull [地址]  master ’ 
   +  事例:git pull https://github.com/zhao827538259/test112.git master
   + 会把远程分支的数据得到:(* 本地要初始化一个仓储  git init*)

- ‘ git clone [地址] ‘
  +  会得到远程仓储相同的数据,如果多次执行会覆盖本地内容


###ssh方式上传代码
- 公钥,私钥 两者之间是有关联的
- 生成公钥 和 私钥 
  + 在桌面打开 Git Bash Here 输入命令 ‘ ssh-keygen -t rsa -C "827538259@qq.com " ‘
  + 在.ssh文件中找到公钥 复制内容
     技术分享
  + 在gitHub中添加公钥
     技术分享
     技术分享
  + 事例:git push git@github.com:zhao827538259/test119.git master

*********************************************

ssh提交 VS https 提交
git push git@github.com:zhao827538259/test119.git master  VS   git push https://github.com/zhao827538259/test112.git master

ssh提交不需要每次输入账号和密码

###在pull和push操作同时进行时
- 先pull 再push

###push和pull时的简写方法
- 步骤:
   + ‘ git remote add origin git@github.com:zhao827538259/test112.git ’
   + ‘ git push origin -u master  ’
   + ‘ git push ’
- 当我们在push时,加上-u参数,那么在下一次push时,我们只需要写上‘ git push ’就能上传我们的代码了。
  (加上-u以后,git会把当前分支和远程的指定分支进行关联)

//来自:http://www.qdfuns.com/notes/31786/4c7562e299d30f9996792a2fa1db6319.html

Git介绍

标签:www   htm   --   status   email   www.   gitignore   ref   .com   

原文地址:http://www.cnblogs.com/zhujiasheng/p/7257534.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!