初次接触Git(一)

来源:互联网 发布:淘宝网密码了怎么办 编辑:程序博客网 时间:2024/05/29 05:57
1、一直都有听说Git,但因为看起来很难用就一直没接触
2、找工作被虐了之后为了以后的发展,觉得必须要好好看看了。
3、找到了廖雪峰老师的网站,感觉条理清晰又简单易懂,非常受用
4、以下是今天所学到的内容

  1. 分布式版本控制系统与集中式的区别
    以前在同学的介绍下使用的SVN,最后也没怎么用明白。接触Git的时候听说了SVN是集中式版本控制系统,与分布式的Git有区别。简而言之,多个用户从同一个服务器上下载文件,每次更改后再提交到服务器上,服务器更新修改。保证所有人从服务器上下载到的文件都是同一版本,此为集中式。和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,随便从其他人那里复制一个就可以了。而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了。在实际使用分布式版本控制系统的时候,其实很少在两人之间的电脑上推送版本库的修改,因为可能你们俩不在一个局域网内,两台电脑互相访问不了,也可能今天你的同事病了,他的电脑压根没有开机。因此,分布式版本控制系统通常也有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也一样干活,只是交换修改不方便而已。Github就是一个免费的提供“中央服务器”的网站。
  2. 安装
    Gitmsysgit是Windows版的Git,从https://git-for-windows.github.io下载(国内镜像),然后按默认选项安装即可。
    安装完成之后 运行Git Bash
    接着输入:
    git config --global user.name "Your Name"
    git config --global user.email "email@example.com"
    分别输入你的名字和邮箱(和Github账户一致),输入完成后没有提示便是成功了
  3. 创建仓库
    使用命令行进入你需要创建仓库的文件夹,然后输入
    git init
    Initialized empty Git repository in /Users/michael/learngit/.git/
    对其进行初始化,之后会在文件夹下生成一个.git的隐藏目录,不要修改它。
  4. 工作区、暂存区、版本库
    Git有如上三个分区。工作区就是仓库文件夹,也就是可以直观在电脑上看到的,暂存区是使用add命令之后的文件临时储存的位置,版本库是使用commit提交暂存区的文件修改之后的。当工作区的修改提交到了暂存区(add)没有commit,显示绿色,仅仅修改了工作区,没有add,显示红色。
  5. 常用命令:
    git add xxx.txt //提交到暂存区
    $ git commit -m "备注"  //提交暂存区到版本库
    $ git diff xxx.txt  //检查工作区和版本库文件的不同
    git status //查看状态
    $ git reset --hard HEAD^ //回退当前一个版本 --hard代表同时更新当前版本库
    $ git reset --hard版本号 //回退到指定版本号
    git reflog //查看历史修改
    git checkout -- xxx.txt //将暂存区中的xxx.txt内容覆盖到工作区,若暂存区中没有修改,则将版本库中的内容覆盖到工作区。
    $ git reset HEAD xxx.txt// 将版本库中最新xxx.txt内容覆盖到暂存区
    rm test.txt //删除文件
    git remote add origin git@github.com:derekshonen/learngit.git //将本地库使用ssh方式关联到远程库 origin就是远程库
    $ git remote add originhttps://github.com/XXXX/learngit.git //将本地库使用https方式关联到远程库 (比较慢)
    git push origin master //将本地最新master分支更新到远程库
    git clone git@github.com:derekshonen/gitskills.git //从远程库clone一个到本地
    git checkout -b dev //创建一个dev的分支并跳转到该分支
    git checkout dev //跳转到dev分支
    git branch //查看所有分支 当前分支前有*号
    git merge dev //将dev分支合并到当前分支
    若dev是在当前分支基础上修改的,则会Fast-forward,直接合并。
    若当前分支另外修改了,会在当前分支的文件上标出两者的不同,处于merging状态,用户手动修改之后,再add、commit,完成合并。
    Git鼓励大量使用分支
    git branch -d dev //删除dev分支 如果dev分支的修改没有合并过,则应使用大写的-D
0 0
原创粉丝点击