Github简易教程

来源:互联网 发布:网络交换机类型的杂志 编辑:程序博客网 时间:2024/06/03 20:38

Github已经成为世界上最大的版本控制网站。当然,除了代码托管外,我们也可以托管其他比如小说、文章、博客等文字载体,因此,如果能够学会使用Github,将会对我们有很大的好处。本文以最简单的命令让你快速认识github!

echo "# test" >> README.mdgit initgit add README.mdgit commit -m "first commit"git remote add origin https://github.com/xiaozheng243/test.gitgit push -u origin master

Github

操控github项目

创建github账号

首先,我们要到github官网创建一个github账号,新建一个repositories;然后安装git。

  • Windows可以安装git for Windows
  • linux可以直接安装git

安装完成后设置

#添加用户名与邮箱地址标记本地计算机$ git config --global user.name "用户名"$ git config --global user.email "邮箱"

创建本地版本库

#首先创建项目文件夹$ mkdir Github$ cd Github#将此目录设置成git仓库地址$ git init

创建完成后,将会看到一个.git文件夹(隐藏)

添加文件并上传本地服务器

#首先创建一个MD测试文件$ vim README.md这是第一个版本的文件。#添加文件并上传,可以添加多个文件$ git add README.md$ git add README2.md$ git commit -m "这是说明文本,说明本次上传的提示"

git add -A、git add -u、git add .区别

  • git add .:添加所有新增或修改的文件,但不包括被删除文件
  • git add -u:添加所有修改、删除的文件,但不包括新增的文件
  • git add -A:综合上面两者,能够添加修改、删除、新增的文件

删除的文件是指本地库该文件被删除,远程库能否同步!

查看文件当前状态

#我们可以使用git status查看文件当前状态,如果没有更改的文件要上传:$ git statusOn branch masternothing to commit, working directory clean#有要上传的文件:$ git statusOn branch masterChanges not staged for commit:  (use "git add <file>..." to update what will be committed)  (use "git checkout -- <file>..." to discard changes in working directory)        modified:   README.mdno changes added to commit (use "git add" and/or "git commit -a")#上传第二次文件:$git add README.md$ git commit -m "第二次更新文件"[master 94917a5] 第二次更新文件 1 file changed, 2 insertions(+)#查看上次修改的什么:$ git diff README.mddiff --git a/README.md b/README.mdindex 9838070..49d0d48 100644--- a/README.md+++ b/README.md@@ -1 +1,3 @@ 你好,这是一个初始版本。++github第二次提交文件。\ No newline at end of file

添加本地仓库到远程仓库

git remote add origin 仓库地址

仓库地址是在创建仓库的时候就生成的地址,比如https://github.com/xiaozheng/test.git,只需要第一次上传时添加即可!

推送到远程仓库

git push -u origin master

推送完成后,就能在github仓库地址查看项目的文件了!

查看提交日志

$ git logcommit 689daca4c5ced8ec139ee38cdd5a05fa646e515bAuthor: xiaoran <luzz_1@163.com>Date:   Wed Apr 5 22:00:38 2017 +0800    更改第二次上传文件内容commit 94917a5e37b42245dd19f1dff96347f3b41793c2Author: xiaoran <luzz_1@163.com>Date:   Wed Apr 5 21:47:01 2017 +0800    第二次更新文件commit 7a6721486fe5f9728c97ee4943a3ac6ee00bfa89Author: xiaoran <luzz_1@163.com>Date:   Wed Apr 5 21:32:40 2017 +0800    第一次提交

回退到上一版本

$ git reset --hard HEAD^HEAD is now at 94917a5 第二次更新文件#查看源文件会发现文件回到了上一次更改的状态。

返回最新版本文件

我们只要记住文件对应的版本号即可返回对应版本,下方代码中689daca4c5ced8ec139ee38cdd5a05fa646e515b就是最新版本的版本号。

$ git reset --hard 689dacaHEAD is now at 689daca 更改第二次上传文件内容

如果忘记版本号可以使用git reflog来查看我们的历史操作:

$ git reflog689daca HEAD@{0}: reset: moving to 689daca94917a5 HEAD@{1}: reset: moving to HEAD^689daca HEAD@{2}: commit: 更改第二次上传文件内容94917a5 HEAD@{3}: commit: 第二次更新文件7a67214 HEAD@{4}: commit (initial): 第一次提交

其中对应着版本号。

撤销文件修改

撤销代码:

$ git checkout -- README.md

存在以下两种情况时,我们可以撤销修改:

  • 文件已经更改但还没有被放到暂存区,此时撤销可以回到原版本库

  • 文件已经被放到暂存区后又修改,此时撤销会回到修改前

如果想要撤销暂存区内容,可以使用以下代码:

$ git reset HEAD README.md

分支

创建一个新的仓库就我们一直处于master主分支中,如果我们想在项目中添加一些额外情况需要的附属子项目,那么就可以使用分支了。

创建新分支

比如创建一个fencing分支

$ git branch newBranchName#git branch fencing

切换至目标分支

$ git checkout branchName#git checkout fencing

切换目标分支后即可按照正常方式添加上传项目文件,但是推送到远程分支仓库时,应该指定分支仓库地址

$ git push -u origin branchName#git push -u origin fencing

查看当前分支

$ git branch* fencing  master

删除目标分支

$ git branch -D branchName#git branch -D origin/fencing

注意:删除目标分支时,必须不处于该分支,并且最好是已经将master与该分支融合

融合主分支与目标分支

$ git merge origin/fencingUpdating 9cce3b3..dd5eae6Fast-forward readme.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 readme.txt

后续更新