Github学习

git官网文档:https://www.kernel.org/pub/software/scm/git/docs/  可以查看命令的详细说明

1. 英语

git n. 饭桶,无用的人    hub n. 中心,焦点,集线器

2. 集中式 VS 分布式

集中式:版本库放在中央服务器,好比图书馆,每个人都需要从中取出一本书,然后再还回去。以这种方式进行交流。

分布式:版本库放在每台电脑中。一台电脑就可以完成版本控制。如果要进行交流,可以借助有一个类似“中央服务器”的电脑,以便于交换“修改”。

3. git分布式版本控制系统

操作  命令 位置  命令   位置   命令  位置   命令  位置 
提交  

工作区

(电脑上本地目录)

git add 修改的文件

暂存区

(stage/index)

git commit -m "描述“

本地仓库

(当前分支)

git push 远程主机 本地分支  远程分支

git push origin   master   master

远程仓库 

撤销

丢弃工作区修改,

回到暂存区或版本库状态

git checkout --修改的文件

暂存区和工作区的区别

git diff 文件名

把暂存区的修改撤回到工作区,可以修改再提交

git reset HEAD 文件名

例:vi a.txt

git add a.txt

git status            显示暂存区中有a.txt文件

git reset HEAD a.txt   暂存区a.txt消失 

工作区回到本地仓库中id对应的内容

git reset --hard 修改的id

从远程获取最新版本并merge到本地

git pull origin master

如果有不能解决的冲突,会显示*branch branch1->branch2

版本库(.git)包含暂存区分支(master:自动创建的第一个分支)

远程仓库默认会被命名为origin,且有一个分支master

4. 基本使用

1) 安装:msysgit是Windows版的Git,从https://git-for-windows.github.io下载,默认安装即可

2) 配置帐户

      git config --global user.email "邮箱地址"

      git config --global user.name "名字"

3) 与远程仓库操作

github网站上创建一个仓库(远程仓库)

      git clone 远程仓库路径                将远程仓库复制到本地    

      git remote add origin https://github.com/coolqiyu/XXX.git        把本地的仓库推到远程仓库,后面的连接是远程仓库的地址

      删除远程文件:把本地的文件先移到其它位置,然后提交即可

      git push -u origin master -f              强制更新,这样会使远程修改丢失,一般是不可取的

4) 在本地新建一个项目或者文件等  test.txt

     git status                            工作区的所有修改(相对暂存区)

     git add test.txt                    本地的修改add到暂存区,如果git add 会把所有修改都加到暂存区

     git commit -m "add a file"    暂存区的内容提交到当前分支(本地仓库),同时-m后写comments

     git push origin master          本地仓库的内容(自动创建的master分支)推送到远程仓库(origin分支)

5) 其它

mkdir gitReps     在某个路径下创建一个空目录gitReps

cd gitReps          进入该目录

git init                 将该目录初始化成一个git的空版本库,目录下会多了一个.git的目录

6) 分支操作

git checkout branch2     切换到branch2分支

git checkout -b branch2     创建并切换到branch2分支

git checkout -b branch2 remotebranch     取远程分支remotebranch并创建切换到branch2分支

git merge branch2        将branch2分支合并到当前分支 

git branch -d branch2    删除branch2分支

git branch                    查看有多少分支

git branch branch2        新建一个branch2分支

git branch -b branch2        新建一个branch2分支

5. 提交撤回修改操作

1) 日志

  • git log(--pretty=oneline)                  查看历史记录(最近到最远显示)(简单结果)
  • log结果: commit 23165485324878412185         后面这个是commit id

2) 版本回退

  • 当前版本 HEAD   上一个版本 HEAD^     上n个版本 HEAD~n
  • git reset --hard HEAD^                    回退到上一版本,git log的内容也会相应地把原来最新的删除
  • git reset --hard commit id的前几位    可从过去再回到未来
  • (每提交一个版本,git会串成时间线,HEAD指针指向当前版本。版本变化时,HEAD指针移动)

    git reflog                                           记录了每一次的命令

     

posted @ 2017-04-08 00:17  huapyuan  阅读(236)  评论(0编辑  收藏  举报