github 的使用

本例子是参照 廖雪峰的官方网站 git教程

http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

 0》安装 sudo apt-get install git
   安装后设置
   $ git config --global user.name "Your Name"
   $ git config --global user.email "email@example.com"
  
 1》首先要新建一个文件
 2》初始化一个Git仓库,使用git init命令。
 3》添加文件到Git仓库,分两步:
    第一步,使用命令git add ,注意,可反复多次使用,添加多个文件;
    第二步,使用命令git commit,完成。
 4》随时掌握工作区的状态,使用git status命令。
    如果git status告诉你有文件被修改过,用git diff可以查看修改内容。
 5》
    (1)git log可以查看历史版本的记录,还可以看到当前的状态
    还可以用  git log --pretty=oneline
    (2)回退到上一个版本
    git reset --hard HEAD^
    注释:上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较
         容易数不过来,所以写成HEAD~100。
    (3)git reflog
         查看以前的每一次命令,就可以查看到相对应的ID 数值
        git reset --hard 3628164
         这样的做法是可以穿越到“未来”的版本
 6》 工作区:当前目录下除了.git文件都是工作区文件
     版本库:.git文件
     暂存区   .git文件 中stage区域,要提交的文件首先都放在这里,然后全部提交,status
             命令里面显示的信息都是暂存区的,提交之后就什么都看不见了
 7》 git checkout -- readme.txt
     总之,就是让这个文件回到最近一次git commit或git add时的状态,还没有add
     git reset HEAD readme.txt
     用命令git reset HEAD file可以把暂存区的修改撤销掉(unstage),
     重新放回工作区:
     这个跟着还要用git checkout -- readme.txt
  8》关于删除
     一般情况下, $ rm test.txt
     如果确实要删掉那就连同版本库里面的一起删掉并且提交
     $ git rm test.txt
       rm 'test.txt'
     $ git commit -m "remove test.txt"
    如果是删除错了,那就
    $ git checkout -- test.txt
     git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,
     都可以“一键还原”。
     命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,
     那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,
     你会丢失最近一次提交后你修改的内容。
'$ ssh-keygen -t rsa -C "youremail@example.com"
vim ~/.ssh/id_rsa.pub ==key
  9》创建远程库,根据提示关联远程库和本地库
'$ git remote add origin git@*********************
本地库内容推送到远程库 git push -u origin master
我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。,以后本地作了提交,就可以通过命令:git push origin master

 10》从远程库克隆
     $ git clone  地址
  
  11》查看分支:git branch
	创建分支:git branch name
	切换分支:git checkout name
	创建+切换分支:git checkout -b name
	合并某分支到当前分支:git merge name
	删除分支:git branch -d name

  12》要查看远程库的详细信息
     ' $ git remote -v
     推送分支,比如dev/master
    ' $ git push origin dev
    
多人协作的工作模式通常是这样:
首先,可以试图用git push origin branch-name推送自己的修改;
如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;
如果合并有冲突,则解决冲突,并在本地提交;
没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!
如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name。
   %%%%%%%%%%%
原文地址:https://www.cnblogs.com/ShankYan/p/4150182.html