我还活着:学习廖雪峰的Git教程(未完待续)

看了后自己跟着做一遍,然后做下笔记。教程已经很简洁,但或许有已知其所以然而用之的,无须知其所以然而用之的,所以做个更简洁的。详细请看廖雪峰的Git教程

  1. Git采用分布式
  • 安装Git

1.windows安装地址:国内镜像
2.CentOS7安装:
[root@linger ~]# yum install git
Is this ok [y/d/N]: y
安装完运行Git前需要先输入2句命令:
C:\Users\Linger>git config --global user.name "Linger" \告诉它你的名字叫Linger
C:\Users\Linger>git config --global user.email "******@.com" \告诉它你的邮箱叫******@.com

  • 创建版本库
    *这里理应先在C:\Users\Linger\learnGit创建个readme.txt然后加入一些东西
    C:\Users\Linger\learnGit>git init \创建Git可以管理的仓库
    C:\Users\Linger\learnGit>git add readme.txt \把readme.txt文件添加到仓库
    C:\Users\Linger\learnGit>git commit -m "wrote a readme file" \把文件提交到仓库,-m后面“”说明这次commit干了什么坏事
  • 时光机穿梭
    *这里理应修改readme.txt的内容,还有一些commit命令
    C:\Users\Linger\learnGit>git status \查看仓库状态
    C:\Users\Linger\learnGit>git diff readme.txt \查看readme.txt文件的修改
    2.版本回退
    C:\Users\Linger\learnGit>git log \查看所有commit的历史版本
    C:\Users\Linger\learnGit>git log --pretty=oneline \现实上一条命令的简洁版
    C:\Users\Linger\learnGit>git reset --hard HEAD^ \回到前一个版本,HEAD为当前,HEAD^^为前2,HEAD~100为前100
    More? ^ \More?是windows cmd输入会出现,其实就连接下一行命令而已,再加一次就好了
    C:\Users\Linger\learnGit>git reflog \查看git记录的每一次版本修改操作及版本id
    C:\Users\Linger\learnGit>git reset --hard cd17f53 \去到指定id的版本,id可只输入前几位
    3.工作区和暂存区
    1. 工作区(Working Directory)就是在电脑里能看到的目录,比如learngit文件夹
    • 版本库(Repository),如工作区的隐藏目录.git
    • stage(或者叫index):暂存区,
    • master:Git为我们自动创建的第一个分支
    • HEAD:指向master的一个指针


      我还活着:学习廖雪峰的Git教程(未完待续)_第1张图片
      工作流程图

      *这里理应创建一个LICENSE文本文件,修改readme.txt,然后add和commit再查查status

  • 撤销修改
    1.工作区撤销
    C:\Users\Linger\learnGit>git checkout -- readme.txt \丢弃工作区的修改
    两种情况:
    ~自修改后还没有被放到暂存区,撤销修改就回到和版本库一模一样的状态;
    ~已经添加到暂存区后,又作了修改,撤销修改就回到添加到暂存区后的状态。
    2.暂存区撤销
    C:\Users\Linger\learnGit>git reset HEAD readme.txt \把暂存区的修改回退到工作区
    3.版本库撤销
    回看4.2.版本回退
  • 删除文件
    C:\Users\Linger\learnGit>git rm test.txt \删除文件并提交到缓存区
    *直接rm和git rm的区别在于:rm只是删除文件,git rm删除后会提交到缓存区
  • 远程仓库

    Step1:创建个github账号
    ***
    Step2:电脑跟github建立ssh连接
    1. 你可能电脑上会遇到打ssh等一些命令没有的情况,我的就没有,这样就要添加环境变量了。

    我还活着:学习廖雪峰的Git教程(未完待续)_第2张图片
    开始->GIt->Git Bash->打开文件所在位置->找到GIt下的\usr\bin目录并复制

    我还活着:学习廖雪峰的Git教程(未完待续)_第3张图片
    GIt Bash右键属性->打开文件所在位置

    我还活着:学习廖雪峰的Git教程(未完待续)_第4张图片
    我的电脑右键属性->高级系统设置->高级->环境变量->双击Path->新建->粘贴地址->确定

    * 生成ssh密钥对(公私钥)
    C:\Users\Linger\learnGit>ssh-keygen -t rsa -C "*********@***.com"
    后面会问你保存路径和密码,默认路径和不要密码就一直回车就好了
    * github上添加你的公钥(id_rsa为私钥,id_rsa.pub为公钥,廖雪峰不建议用txt打开,反正我用sublime text)
    我还活着:学习廖雪峰的Git教程(未完待续)_第5张图片
    找到你的公钥文件,并复制里面的所有内容,注:最后多不多一行都可以的

    我还活着:学习廖雪峰的Git教程(未完待续)_第6张图片
    上github->右上下拉->Settings

    我还活着:学习廖雪峰的Git教程(未完待续)_第7张图片
    SSH and GPG keys->New SSH key->粘贴公钥->随便写个Title->确定

    C:\Users\Linger\learnGit>ssh -vT [email protected] -i D:\id_rsa
    * 建立连接(具体可以看 Windows上Github公私钥建立连接问题的一种解决方案)
    C:\Users\Linger\learnGit>ssh -vT [email protected]
    Are you sure you want to continue connecting (yes/no)? yes
    ***
    Step3:创建新的Git仓库(Repository)
    我还活着:学习廖雪峰的Git教程(未完待续)_第8张图片
    创建新的仓库->填上名字->确认创建


Step4:与仓库的交互
1. 添加远程库(仓库网址可以用下图方法获取)
C:\xampp\htdocs>git remote add origin https://github.com/*********/Email.git
//远程库名字origin,Git默认叫法,也可以改别的,但origin这个名字一看就知道是远程库

我还活着:学习廖雪峰的Git教程(未完待续)_第9张图片
可以点击切换SSH格式

可能你已经添加过origin了,想换其他的网址,会出现以下错误
C:\xampp\htdocs>git remote add origin https://github.com/*********/MyPro.git
fatal: remote origin already exists.
用以下的句子删除原来的origin,再执行上一步,便可以了
C:\xampp\htdocs>git remote rm origin
* 推送master分支
C:\xampp\htdocs>git push -u origin master
我还活着:学习廖雪峰的Git教程(未完待续)_第10张图片
点进去具体的profile->Clone or download->复制你的地址

1. 根据地址下载到本地。

C:\xampp\htdocs>git clone [email protected]*********/Email.git
  1. 分支管理
  1. 创建与合并分支
C:\xampp\htdocs\Email>git branch dev      //创建dev分支
C:\xampp\htdocs\Email>git checkout dev  //检出(切换到)dev分支
C:\xampp\htdocs\Email>git branch            //查看分支情况,带*表示当前分支

···
C:\xampp\htdocs\Email\laravelapp>git checkout master //切换master分支
C:\xampp\htdocs\Email\laravelapp>git merge dev //合并dev到master上
C:\xampp\htdocs\Email\laravelapp>git branch -d dev //删除dev分支
···

  1. 解决冲突

你可能感兴趣的:(我还活着:学习廖雪峰的Git教程(未完待续))