美文网首页
20170723从GitHub开始

20170723从GitHub开始

作者: cndaqiang | 来源:发表于2017-07-24 08:27 被阅读17次

该学习日记是我的个人学习笔记,里面引用的内容并未获得原作者授权,如果涉及著作权问题,请联系chendq@aliyun.com,我撤销文章的发布

从知乎的 从0开始学习 GitHub 系列开始

从0开始学习 GitHub 系列 作者:stormzhang

学到 从0开始学习 GitHub 系列之【加入 GitHub】对之前注册的GitHub账号进行修改,新建Repository LearnGitHub 仓库里面的内容

  • 从readme文件接触到MarkDown语法根据文中的链接跟简叔学习MarkDown
    保存MarkDown链接Markdown 语法说明备用
    软件使用cmd Markdown
    所以可以不用简叔写了是吗哈哈

从0开始学习 GitHub 系列之【Git 速成】

windows/centos 安装Git

  • 在Powershall中运行git学习(后来发现在Git Bash里运行好像才对)
cd目录(就是将来的本地仓库目录,mkdir test  cd test)
#初始化git
git init
#查看状态git status
PS D:\YunDrive\cndaqiang\LearnGitHub\test> git status
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)

        Readme.md
        a.txt
        "a.txt\343\200\202"
        "a.txt\343\200\2024\343\200\201echo"
        we.md

nothing added to commit but untracked files present (use "git add" to track)

#新建/修改文件
PS D:\YunDrive\cndaqiang\LearnGitHub\test> notepad .\we.md
#添加/初次提交文件 git add filename
PS D:\YunDrive\cndaqiang\LearnGitHub\test> git add we.md
#查看状态 git status
PS D:\YunDrive\cndaqiang\LearnGitHub\test> git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   we.md

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        Readme.md
        a.txt
        "a.txt\343\200\202"
        "a.txt\343\200\2024\343\200\201echo"
#看到待提交的文件
#最终commit
PS D:\YunDrive\cndaqiang\LearnGitHub\test>  git commit -m "first commit"
[master 4d0cf09] first commit
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 we.md
#第一次会提示设置账户密码,可这样设置
PS D:\YunDrive\cndaqiang\LearnGitHub\test> git config --global user.email "chendq@aliyun.com"
PS D:\YunDrive\cndaqiang\LearnGitHub\test> git config --global user.name "cndaqiang"
PS D:\YunDrive\cndaqiang\LearnGitHub\test>  git commit -m "first commit"
[master (root-commit) 1323dca] first commit
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 a.md

#git log 命令可以查看所有产生的 commit 记录
PS D:\YunDrive\cndaqiang\LearnGitHub\test> git log
commit 4d0cf0932203a4c6533c497e78753f9dba110a19 (HEAD -> master)
Author: cndaqiang <chendq@aliyun.com>
Date:   Sun Jul 23 19:10:20 2017 +0800

    first commit

commit 1323dca9e0feed7fd055b4775c9638eeaf729292
Author: cndaqiang <chendq@aliyun.com>
Date:   Sun Jul 23 19:02:40 2017 +0800

    first commit
#分支branch
PS D:\YunDrive\cndaqiang\LearnGitHub\test> git branch
* master
#创建分支a
PS D:\YunDrive\cndaqiang\LearnGitHub\test> git branch a
#*号表示当前分支,maste为主分支
PS D:\YunDrive\cndaqiang\LearnGitHub\test> git branch
  a
* master
#切换分支
PS D:\YunDrive\cndaqiang\LearnGitHub\test> git checkout a
Switched to branch 'a'
#合并分支 git merge,需要在master目录
PS D:\YunDrive\cndaqiang\LearnGitHub\test> git merge a
Already up-to-date.
#删除 branch git branch -d
PS D:\YunDrive\cndaqiang\LearnGitHub\test> git branch -d a
Deleted branch a (was 4d0cf09).
#强制删除 git branch -D
#版本 git tag 
#新建标签 git tag v版本号
PS D:\YunDrive\cndaqiang\LearnGitHub\test> git tag v1.0
PS D:\YunDrive\cndaqiang\LearnGitHub\test> git tag
v1.0

所以如果想要新建一个标签很简单,比如 git tag v1.0 就代表我在当前代码状态下新建了一个v1.0的标签,输入 git tag 可以查看历史 tag 记录。


可以看到我新建了两个标签 v1.0、v1.1。
想要切换到某个tag怎么办?也很简单,执行 git checkout v1.0 ,这样就顺利的切换到 v1.0 tag的代码状态了。

我开始喜欢简叔的编辑器了,好棒,自动添加图片的表达方式

从 0 开始学习 GitHub 系列之【向 GitHub 提交代码】

以下在Git Bash里运行
还是直接备注

从 0 开始学习 GitHub 系列之【向 GitHub 提交代码】
作者:stormzhang

设置ssh认证

  • SSH
    而 GitHub 上一般都是基于 SSH 授权的。
    SSH是一种网络协议,用于计算机之间的加密登录。目前是每一台 Linux 电脑的标准配置。而大多数 Git 服务器都会选择使用 SSH 公钥来进行授权,所以想要在 GitHub 提交代码的第一步就是要先添加 SSH key 配置。
  • 生成SSH key
    Linux 与 Mac 都是默认安装了 SSH ,而 Windows 系统在 Git Bash下运行
    输入 ssh-keygen -t rsa ,指定 rsa 算法生成密钥,接着连续三个回车键(不需要输入密码),然后就会生成两个文件 id_rsa 和 id_rsa.pub ,而 id_rsa 是密钥,id_rsa.pub 就是公钥。这两文件默认分别在如下目录里生成:

Linux/Mac 系统 在 ~/.ssh 下,win系统在 C:\Users\cnche.ssh 下,都是隐藏文件,相信你们有办法查看的。

接下来要做的是把 id_rsa.pub 的内容添加到 GitHub 上,这样你本地的 id_rsa 密钥跟 GitHub 上的 id_rsa.pub 公钥进行配对,授权成功才可以提交代码。

  • GitHub 上添加 SSH key
    第一步先在 GitHub 上的设置页面,点击最左侧 SSH and GPG keys
然后点击右上角的 New SSH key 按钮:
需要做的只是在 Key 那栏把 id_rsa.pub 公钥文件里的内容复制粘贴进去就可以了(上述示例为了安全粘贴的公钥是无效的),Title 那栏不需要填写,点击 **Add SSH key **按钮就ok了。

SSH key 添加成功之后,输入 ssh -T git@github.com 进行测试,如果出现以下提示证明添加成功了。

本地与远程仓库关联

. 1 克隆GitHub已有项目

  1. 克隆 clone

我们以我在 GitHub 上创建的 test 项目为例,执行如下命令:

git clone [git@github.com](mailto:git@github.com):stormzhang/test.git
#我的,克隆地址在github代码页,可以选择https和ssh两种
 git clone git@github.com:cndaqiang/LearnGitHUb.git

这样就把 test 项目 clone 到了本地,你可以把 clone 命令理解为高级点的复制,这个时候该项目本身就已经是一个git 仓库了,不需要执行 git init 进行初始化,而且甚至都已经关联好了远程仓库

  1. 创建 commit push上传

我们只需要在这个 test 目录下任意修改或者添加文件,然后进行 commit(方法如上节本地commit流程 ,之后就可以执行:

git push origin master
#果然是origin 只有一个远程仓库时,默认就是origin,这样只push master的branch,git push 也可以,应该是是全push吧

进行代码提交,这种是最简单方便的一种方式。

#我的代码
cnche@DESKTOP-T4EAGER MINGW64 /d/YunDrive/cndaqiang/LearnGitHub/LearnGitHUb (master)
$ touch pushtest2
cnche@DESKTOP-T4EAGER MINGW64 /d/YunDrive/cndaqiang/LearnGitHub/LearnGitHUb (master)
$ git add pushtest2
cnche@DESKTOP-T4EAGER MINGW64 /d/YunDrive/cndaqiang/LearnGitHub/LearnGitHUb (master)
$ git commit -m "first commit"
[master f092ee6] first commit
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 pushtest2
cnche@DESKTOP-T4EAGER MINGW64 /d/YunDrive/cndaqiang/LearnGitHub/LearnGitHUb (master)
$ git push origin master
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 268 bytes | 0 bytes/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To github.com:cndaqiang/LearnGitHUb.git
   72d2f31..f092ee6  master -> master
  1. pull 下载代码
git pull origin master

2本地已有项目上传

cnche@DESKTOP-T4EAGER MINGW64 /d/YunDrive/cndaqiang/LearnGitHub
$ mkdir test

cnche@DESKTOP-T4EAGER MINGW64 /d/YunDrive/cndaqiang/LearnGitHub
$ cd test/

cnche@DESKTOP-T4EAGER MINGW64 /d/YunDrive/cndaqiang/LearnGitHub/test
$ touch shangchaun.md

cnche@DESKTOP-T4EAGER MINGW64 /d/YunDrive/cndaqiang/LearnGitHub/test
$ git init
Initialized empty Git repository in D:/YunDrive/cndaqiang/LearnGitHub/test/.git/

cnche@DESKTOP-T4EAGER MINGW64 /d/YunDrive/cndaqiang/LearnGitHub/test (master)
$ git add shangchaun.md

cnche@DESKTOP-T4EAGER MINGW64 /d/YunDrive/cndaqiang/LearnGitHub/test (master)
$ git commit -m "first commit"
[master (root-commit) 9fe42aa] first commit
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 shangchaun.md

cnche@DESKTOP-T4EAGER MINGW64 /d/YunDrive/cndaqiang/LearnGitHub/test (master)
$ git remote add origin git@github.com:cndaqiang/test.git

cnche@DESKTOP-T4EAGER MINGW64 /d/YunDrive/cndaqiang/LearnGitHub/test (master)
$ git push origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 213 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To github.com:cndaqiang/test.git
 * [new branch]      master -> master

cnche@DESKTOP-T4EAGER MINGW64 /d/YunDrive/cndaqiang/LearnGitHub/test (master)
$

相关文章

网友评论

      本文标题:20170723从GitHub开始

      本文链接:https://www.haomeiwen.com/subject/cdrmkxtx.html