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

Git和Github的使用教程

时间:2017-09-07 13:41:14      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:管理   显示   har   diff   一模一样   敏捷   合并   本地库   ssh key   

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目;

GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub。

 

0、首先在电脑上安装好Git;

      关于区域描述,git管理的目录叫工作区(.git文件夹除外),add 文件后的叫暂存区,提交后是分支(版本库);

 

常用命令

1、配置用户名和邮箱,打开Git Bash

  1. git config --global user.name "username"
  2. git config --global user.email "email"  
  3. 使用git config --list查看已设用户配置

 

2、创建版本库

      先在电脑合适的地方创建一个空目录,

      打开Git Bash,输入cd ‘目录路径‘,

      输入 git init      (init表示管理这个目录);

 

3、添加文件

      创建一个文件放在git管理的目录下,

      git add 文件名     (该操作把文件添加到了暂存区),

      git commit -m "提交描述"     (该操作把文件添加到了分支),

      使用git log --pretty=oneline命令可以看到每次提交的记录(commit的ID和描述),

      git reflog命令记录你的每一次命令,里面有commit ID,方便回退;

 

4、文件比对:

            git diff 是工作区和暂存区的对比

            git diff -- cached 是暂存区和分支的对比

            git diff HEAD -- readme.txt 工作区和分支的对比

 

5、版本回退

     (1) 对于已提交的版本(commit): git reset --hard 要回退到的commit id  (版本号不用写全,写前几位就行了);

     (2)命令git checkout -- 文件名 意思就是,把该文件在工作区的修改全部撤销,这里有两种情况:

                   一种是该文件自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

                   一种是该文件已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

                   总之,就是让这个文件回到最近一次git commitgit add时的状态。

     (3)对于已add到暂存区但未提交的,可以撤销修改,放回工作区:git reset HEAD 文件名     (HEAD表示最新版本);

     (4)可以使用 git status查看当前暂存区的状态;

 

6、文件删除

     可以先手动在目录(工作区)删除文件,或者用 rm 文件名 删除文件;

     然后可以用git status看到哪些文件被删了,此时工作区和版本库就不一致了,此时可以:

        (1)用git rm 文件名   把版本库的也删掉;

        (2)是误删手动误删时,可以用git checkout -- 文件名   命令来恢复(git checkout是把版本库的版本替换工作区的版本,回退删除或修改);

 

7、分支管理

      (1)创建和合并分支

            创建一个分支,可以先在分支上修改内容,再选择合并到主分支或者撤销修改;

            可以在分支上修改文件,并add和commit后,再切换回主分支,分支合并,再删除不用了的分支;

               查看分支:git branch

               创建分支:git branch <name>

               切换分支:git checkout <name>

               创建+切换分支:git checkout -b <name>

               合并某分支到当前分支:git merge <name>

               删除分支:git branch -d <name>

               强行删除:git branch -D <name>

         (2)分支历史

               若使用git merger 分支名合并分支,再删除分支后,会丢掉分支信息,可以使用git merge --no-ff -m "提交描述" 分支名 命令来合并,合并后有历史分支,可以使用git log 查询;

         (3)暂存当前分支

               使用 git stash 把当前分支‘储藏’起来,干完其它事情再回来接着用分支;

               通过git stash list 查看储藏的分支,用 git stash apply stash@{分支序号} 恢复;

 

8、分支合并冲突

        若两个分支所修改的文件合并后有所冲突,可以用 git status 看到冲突,手动去文件里解决修改冲突,再add,commit;

        用 git log --graph --pretty=oneline --abbrev-commit 命令可以看到分支合并图。

         使用远程仓库Github

1、配置

    (1)首先应去github官网注册一个账号;

    (2)添加SSH:登陆Github - 打开Account settings - 打开SSH Keys页面,根据需要填写title,在文本框粘贴来自C:\Users\管理员名\.ssh\id_rsa.pub文件的内容,点击Add Key;

 

2、添加远程库(本地已有git仓库,又想在GitHub上创建一个仓库,并把两个库关联起来)

     (1)本地仓库建好后,在GitHub上创建一个仓库(在头像旁边点添加新库-填入仓库名-点创建);

     (2)在本地Git Bash输入git remote add origin git @github.com:github用户名/新建仓库名.git

             origin就是远程库名(当然也可以写为其它),可以使用git remote -v显示远程库信息

     (3)把本地库指定分支全部推送到远程库对应分支:git push -u origin master     (master是主分支;-u 表示把指定远程master关联起来);

 

3、从远程仓库克隆(远程库已建好了,本地没有)

     (1)  使用git clone git@github.com:github用户名/远程仓库名.git  命令,克隆完后可以在当前目录下看到克隆下来的仓库

     (2)使用 cd ‘仓库目录路径‘  可以转换当前管理的仓库目录;

 

4、

 

Git和Github的使用教程

标签:管理   显示   har   diff   一模一样   敏捷   合并   本地库   ssh key   

原文地址:http://www.cnblogs.com/Drajun/p/7488867.html

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