Git 学习记录(把本地项目上传到githup网站仓库)

本篇博文主要记录自己学习Git的笔记/总结

参考教程 廖雪峰的官方网站

1、Git和CVS及SVN的异同点

  • githup是分布式版本控制系统
  • CVS和SVN是集中式版本控制系统
  • 这三种都是免费开源

2、 集中式版本控制系统和分布式版本控制系统区别

  • 集中式必须有专门的版本服务器,集中存放文件,需要联网
  • 分布式每台电脑都可和其他电脑进行版本更新,也可设置一台电脑专门用于版本内容交换更新

3、Git客户端官方下载地址

https://git-scm.com/downloads

4、Git、Githup及Gitlab的区别

  • Git是一个工具,用于版本管理
  • Githup是一个网站,给用户创建git仓库,用于存放代码文件
  • Gitlab是基于git的项目管理管理软件

5、使用Git

以windows系统为例
点击 ‘Git Bash’图标,出来一个命令窗口,如下,在‘$’后可以输入命令

Administrator@USER-20180123LH MINGW64 ~
$ 

登录

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

首先在D盘创建一个文件夹用于管理代码,例如新建文件夹‘git’(文件名只要是英文就行)
查看当前所在的目录,切换目录

$ pwd				
$ cd d:/git        
$ pwd
$ mkdir learngit
$ cd learngit/
$ pwd

运行git init把目录变成Git可以管理的仓库,显示如下:

Administrator@USER-20180123LH MINGW64 /d/git/learngit
$ git init
Initialized empty Git repository in D:/git/learngit/.git/

新生成的.git目录是用来跟踪管理版本库,不要手动修改里面的文件

Administrator@USER-20180123LH MINGW64 /d/git/learngit (master)
$ ls -la
total 4
drwxr-xr-x 1 Administrator 197121 0 十一月 21 16:03 ./
drwxr-xr-x 1 Administrator 197121 0 十一月 21 16:03 ../
drwxr-xr-x 1 Administrator 197121 0 十一月 21 16:03 .git/

用Notepad++文本编辑器在D盘的/git/learngit目录(子目录也行)下新建一个readme.txt的文件,随意写入一些内容,例如

Git is a version control system.
Git is free software.

用如下命令把readme.txt文件添加到Git仓库中,‘-m’后是说明对仓库做了什么修改,便于其他人查阅

$ git add readme.txt
$ git commit -m "wrote a readme file"

修改readme.txt文件,如下:

Git is a distributed version control system.
Git is free software.

$ git status	#查看当前库的状态,会显示有修改但未提交,并指出被修改的文件是readme.txt
$ git diff readme.txt 	#查看readme.txt做了哪些修改
$ git add readme.txt	#把修改放到暂存区(stage)
$ git status	#再次查看库的状态,显示修改将要被提交
$ git commit -m "add distributed"	#把修改提交到分支
$ git status	#显示当前没有什么可提交的

回退版本
HEAD^上一个版本
HEAD^^上上个版本
HEAD~100往前数第100个版本
命令如下:

git reset --hard HEAD^	#回退到上一个版本

git reflog查看历史操作

Administrator@USER-20180123LH MINGW64 /d/git/learngit (master)
$ git reflog
b41aa25 (HEAD -> master) HEAD@{0}: reset: moving to HEAD^
586b5f2 HEAD@{1}: commit: 增加了一个空行和测试
b41aa25 (HEAD -> master) HEAD@{2}: commit: add distributed
922bff2 HEAD@{3}: commit (initial): wrote a readme file

回退到任意版本git reset --hard commit_id
例如回退到‘增加了一个空行和测试’的那一个版本’

$ git reset --hard 586b

比较工作区和版本库文件的区别

$ git diff HEAD --readme.txt

丢弃工作区的修改

$ git checkout -- readme.txt

这里有两种情况:

  • 一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
  • 一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

丢弃暂存区的修改

$ git reset HEAD readme.txt

添加新文件test.txt并提交,做删除操作

  • 提交删除
$ git rm test.txt
$ git commit -m "remove test.txt" 

误删撤销

$ git checkout -- test.txt

6、上传本地项目到githup

6.1 githup网站端设置
  • 先注册githup账号
  • 登陆githup后点右上角图标–再点击“Settings”进入设置页面
  • 点“SSH and GPG keys”,再点击“New SSH key”,Title名字随便写,比如“办公电脑”, Key的内容写本地电脑公钥的内容,然后点击“Add SSH key”
  • githup的公钥和私钥文件在本地电脑主目录下,获取方式如下:
    打开本地的 “Git Bash”
Administrator@USER-20180123LH MINGW64 ~
$ cd ~
Administrator@USER-20180123LH MINGW64 ~
$ ls -la #显示如下
其他文件
drwxr-xr-x 1 Administrator 197121       0 十一月 21 19:47  .ssh/
其他文件

在主目录“~”下有一个名为“.ssh/”的目录,该目录有两个文件,id_rsa是私钥文件,id_rsa.pub是公钥文件(如果没有这两个文件,在Git Bash中执行ssh-keygen -t rsa -C "youremail@example.com",其他步骤保持默认即可),把公钥文件id_rsa.pub中的内容复制到上述githup的Key的方框内保存

Administrator@USER-20180123LH MINGW64 ~
$ cd .ssh/
Administrator@USER-20180123LH MINGW64 ~/.ssh
$ ls -lh
total 9.0K
-rw-r--r-- 1 Administrator 197121 1.7K 八月   27 11:00 id_rsa
-rw-r--r-- 1 Administrator 197121  509 八月   27 11:11 id_rsa.pub
-rw-r--r-- 1 Administrator 197121  801 十一月 21 19:49 known_hosts
Administrator@USER-20180123LH MINGW64 ~/.ssh
$ cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvnzxDfvbZIuryZzxv/g0p+0ny64OVEEhjteMUXWr51BWD8Audd8x8HaljudFua/hXm7kM36+h4mTd5a8G8/FrXFzWBqXlL72QIqVocbPwqDcEJLagnpalngGkN+hstEbeuNd5VkldJuQvL/9pXhBnQTnpPM0/3+zzKmXCfpGRxVdqWyOX2PnZYwfn65+BWbt4KLIzahQM2iLuUDh3XLhpxssRXEEZ/biMf5pp9KhFEFF+2SLtfh8AEwwVTTjv3NJmaG5JQL+IvQeocZsORAyh3KSZumNlUz0GcYSwemtKIxrf0F9YnRvC8cWcrg5LKRMToU6mIuPu51/duW90RsJR xxoo@gmail.com
6.2 在githup上新建项目
  • 点击右上角的加号“+” ,再点击“New repository”创建仓库
  • 输入项目名字,例如“Blog”,然后点击“Create repository”

这样就创建了一个新仓库,下一步需要把本地电脑上的项目同步到githup仓库中

6.3 在本地 GIt Bash中操作
#先切换到项目目录,D盘的/git/Blog目录下
$ cd /d/git/Blog
#把这个目录变成Git可以管理的仓库
git init
#把文件添加到版本库中
git add .
#把文件提交到仓库
git commit -m 'first commit'
#git remote add origin 你的远程库地址,如果非第一次同步,则不用执行
git remote add origin https://github.com/blackeagleoht/Blog.git
#获取远程库与本地同步合并(如果远程库不为空必须做这一步,否则后面的提交会失败)
git pull --rebase origin master
#把本地库的内容推送到远程
git push -u origin master
#查询状态
git status

如果项目文件比较大,在执行命令的时候就需要耐心等待
在执行push -u origin master时,会弹出一个窗口,让输入githup的登录账号和密码,之后会同步完成,登录githup网站即可看到项目已同步到Blog的仓库中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值