git操作和github远程仓库

Git 是一个免费开源的分布式版本控制系统,它也一个基于内容寻址的存储系统。 Git 是由 Linux 的创造者 Linus Torvalds。 现如今Git已成为行业标准版本控制供给


一 git本地操作

1. git安装

Windows下可安装gitbash

2. 配置 Git 使用 git config 此为创建 Git 仓库前必须完成的配置。

git config --global user.name "Li Xinyang"
git config --global user.email "[email protected]"

3. 初始化仓库

git init [path]
git init [path] --bare

在初始化仓库后会出现一个隐藏的目录 .git 其中包括了所有的当前仓库的版本信息和本地设置文件(.git/config)。

4. 查询状态

git status 此命令可以帮助开发者在下面三对关系中找出文件状态的变化。


git状态

形象的解释如下:

git

5. 添加文件到暂存区(同时跟踪文件)git add

git add

6. 删除文件 git remove

    git rm //从暂存区和工作区目录中删除

7. 提交版本记录 git commit

git commit 可以根据暂存区的内容创建一个提交目录

git commit

直接提交工作区的内容git commit -a -m 'message',工作中不建议这样操作。

8. git log 可以用来显示提交是记录信息。

包括:

  1. 提交编号 SHA-1 编码的 HASH 标示符
  2. git-config 配置的提交者信息
  3. 提交日期
  4. 提交描述信息

9. 显示版本差异 git diff(difference)

git diff 显示工作目录与暂存区的差异

10. 命令总结

命令总结

二 github和git远程仓库

远程操作可以将本地仓库推送至远程仓库服务器。Git 支持许多主流的通信协议,其中包括 Local、HTTP、SSH、还有Git。服务器只应该是作为同步之用(被动接受既可)
由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要一点设置:

  1. 第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa
    和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:
$ ssh-keygen -t rsa -C "[email protected]"

你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。
如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

  1. 登陆GitHub,打开“Account settings”,“SSH Keys”页面:
    然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容,点“Add Key”,你就应该看到已经添加的Key:
    为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。

1. 用命令git clone克隆一个本地库:

$ git clone [email protected]:michaelliao/gitskills.git
Cloning into 'gitskills'...
remote: Counting objects: 
3, done.remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
$ cd gitskills
$ lsREADME.md

注意把Git库的地址换成你自己的.

2. 推送 git push

git push 可以将当期的全部版本提交提交推送至远程仓库,其完成了提交历史的完全不复制并同时移动复制版本的 HEAD 与 Branch。

$ git push -u origin master

把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。


git的常用操作大致如上,更多的操作可以日后学习。

你可能感兴趣的:(git操作和github远程仓库)