记录一次使用terminal进行git管理与提交到Github的过程
1、环境的构建:
使用Mac系统自带的Git进行版本管理存在,Git是系统的Xcode集成的
查看版本的命令:
$ git --version
git version 2.14. (Apple Git-)
查看git的安装目录:
$ which git
/usr/bin/git
2、常用命令
#使用git命令初始化文件夹,即创建git本地仓库
$ git init
Initialized empty Git repository in /Users/Mac/Desktop/myapp/.git/
#配置全局变量
$ git config --global user.name "***"
$ git config --global user.email '****@qq.com'
#将index.jsp 添加到git仓库中
$ git add index.jsp
#获取git本地仓库状态
$ git status
#使用通配符添加文件到本地仓库,此命令表示将需要添加的本地仓库的所有html文件添加到本地仓库
$ git add *.html
#此命令表示将需要添加的本地仓库的所有文件添加到本地仓库
$ git add .
#从git本地仓库中移除index.jsp文件
$ git rm --cached index.jsp
#将已添加到本地仓库的文件全部提交,当输入此命令时,会切换到一个编辑页面,此时需输入此次提交的备注信息,保存退出即可
$ git commit
#此命令中参数'-m'后添加备注信息
$ git commit -m 'another change'
#创建.gitignore文件,该文件的作用是忽略文件中的指定文件,即不用添加提交的文件
$ touch .gitignore
#演示创建分支的方法,在分支下修改文件,除非合并,否则不会实质性修改主线的内容
$ git branch login
#切换到master角色下
$ git checkout master
#在master角色下合并分支命令
$ git merge login
#以下演示同步到GitHub上
#查看是否已有远程连接
$ git remote
#创建远程连接命令,"***"此内容需要在GitHub指定查看上复制
$ git remote add origin git@github.com:****/***.git
#将本地仓库中的文件推送到GitHub仓库上
$ git push -u origin master
#由于之前已建立连接,故此时只需直接即可push
$ git push
#从GitHub仓库中克隆项目到本地仓库
$ git clone **@github.com:***/homework.git
3、示例
Last login: Fri Mar :: on ttys000
#配置git,生成公钥密钥(输完命令需要敲四次空格,后三次为提示一行敲一次),运行完之后会在~/.shh文件内生成id_rsa和id_rsa.pub两个文件,
#复制id_rsa.pub内容复制黏贴到GitHub的指定位置,此操作用于git连接github网站,获取读写权限
Mac$ ssh-keygen -t rsa -b -C "1037345628@qq.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/Mac/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/Mac/.ssh/id_rsa.
Your public key has been saved in /Users/Mac/.ssh/id_rsa.pub. -------------------------------------- #使用git进行项目版本管理. #.创建myapp,并切换至该目录下
:~ Mac$ cd /Users/Mac/Desktop/myapp
#创建index.jsp app.jsp文件
:myapp Mac$ touch index.jsp
:myapp Mac$ touch app.jsp
#使用git命令初始化文件夹,即创建git本地仓库
:myapp Mac$ git init
Initialized empty Git repository in /Users/Mac/Desktop/myapp/.git/
#配置全局变量
:myapp Mac$ git config --global user.name "****"
:myapp Mac$ git config --global user.email '****@qq.com'
#将index.jsp 添加到git仓库中
:myapp Mac$ git add index.jsp
#获取git本地仓库状态
:myapp Mac$ git status
#表示正在以master(项目创建者或主线管理)角色操作
On branch master
#表示没有提交过
No commits yet Changes to be committed:
(use "git rm --cached <file>..." to unstage)
#新文件,表示需要提交的文件
new file: index.jsp Untracked files:
(use "git add <file>..." to include in what will be committed) app.jsp #从git本地仓库中移除index.jsp文件
:myapp Mac$ git rm --cached index.jsp
rm 'index.jsp'
#获取git本地仓库状态
:myapp Mac$ git status
On branch master No commits yet Untracked files:
(use "git add <file>..." to include in what will be committed)
#表示需要添加git仓库的文件
app.jsp
index.jsp
#没有可提交的文件
nothing added to commit but untracked files present (use "git add" to track)
#创建index.html文件
:myapp Mac$ touch index.html
#查看git本地仓库状态
:myapp Mac$ git status
On branch master No commits yet Untracked files:
(use "git add <file>..." to include in what will be committed) app.jsp
index.html
index.jsp nothing added to commit but untracked files present (use "git add" to track)
#使用通配符添加文件到本地仓库,此命令表示将需要添加的本地仓库的所有html文件添加到本地仓库
:myapp Mac$ git add *.html
:myapp Mac$ git status
On branch master No commits yet Changes to be committed:
(use "git rm --cached <file>..." to unstage) new file: index.html Untracked files:
(use "git add <file>..." to include in what will be committed) app.jsp
index.jsp
#此命令表示将需要添加的本地仓库的所有文件添加到本地仓库
:myapp Mac$ git add .
:myapp Mac$ git status
On branch master No commits yet Changes to be committed:
(use "git rm --cached <file>..." to unstage) new file: app.jsp
new file: index.html
new file: index.jsp #修改index.jsp 文件
:myapp Mac$ git status
On branch master No commits yet Changes to be committed:
(use "git rm --cached <file>..." to unstage) new file: app.jsp
new file: index.html
new file: index.jsp Changes 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: index.html :myapp Mac$ git add .
:myapp Mac$ git status
On branch master No commits yet Changes to be committed:
(use "git rm --cached <file>..." to unstage) new file: app.jsp
new file: index.html
new file: index.jsp #将已添加到本地仓库的文件全部提交,当输入此命令时,会切换到一个编辑页面,此时需输入此次提交的备注信息,保存退出即可
:myapp Mac$ git commit
[master (root-commit) f81a0ad] first commit;
files changed, insertions(+)
create mode app.jsp
create mode index.html
create mode index.jsp
:myapp Mac$ git status
On branch master
#表示没有需要提交的文件
nothing to commit, working tree clean
#修改app.jsp文件,获取本地仓库状态
:myapp Mac$ git status
On branch master
Changes 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: app.jsp
#表没有已经改变的已添加文件
no changes added to commit (use "git add" and/or "git commit -a")
:myapp Mac$ git add .
:myapp Mac$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
#需要提交的已经添加到本地仓库的修改文件
modified: app.jsp
#提交,输入备注信息
:myapp Mac$ git commit
#change is app.jsp 添加备注信息
[master 24e3cd2] changed is app.jsp
file changed, insertion(+) :myapp Mac$ git commit
On branch master
nothing to commit, working tree clean #创建log.txt文件
:myapp Mac$ git status
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed) log.txt nothing added to commit but untracked files present (use "git add" to track)
#创建.gitignore文件,该文件的作用是忽略文件中的指定文件,即不用添加提交的文件
:myapp Mac$ touch .gitignore
#在.gitignore文件输入log.txt
:myapp Mac$ git status
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
#需要添加文件,已忽略log.txt文件
.gitignore nothing added to commit but untracked files present (use "git add" to track)
:myapp Mac$ git add .
:myapp Mac$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage) new file: .gitignore #创建文件夹dir1,dir2
:myapp Mac$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage) new file: .gitignore Untracked files:
(use "git add <file>..." to include in what will be committed) dir1/
dir2/ #在.gitignore中添加"/dir1"内容
:myapp Mac$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage) new file: .gitignore Changes 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: .gitignore Untracked files:
(use "git add <file>..." to include in what will be committed) dir2/ :myapp Mac$ git add .
#此命令中参数'-m'后添加备注信息
:myapp Mac$ git commit -m 'another change'
[master 50d5a2f] another change
files changed, insertions(+)
create mode .gitignore
create mode dir2/app2.js #演示创建分支的方法,在分支下修改文件,除非合并,否则不会实质性修改主线的内容
#创建login分支命令
:myapp Mac$ git branch login
:myapp Mac$ git status
On branch master
nothing to commit, working tree clean
#切换到login分支下
:myapp Mac$ git checkout login
Switched to branch 'login' #在分支下创建文件
:myapp Mac$ touch login.html
:myapp Mac$ git status
On branch login
Changes 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: dir2/app2.js
modified: index.html Untracked files:
(use "git add <file>..." to include in what will be committed) login.html no changes added to commit (use "git add" and/or "git commit -a")
:myapp Mac$ git commit -m 'login form'
On branch login
Changes not staged for commit:
modified: dir2/app2.js
modified: index.html Untracked files:
login.html no changes added to commit
:myapp Mac$ git add .
:myapp Mac$ git commit -m 'login form'
[login 57202e2] login form
files changed, insertions(+), deletion(-)
create mode login.html
:myapp Mac$ git status
On branch login
nothing to commit, working tree clean #切换到master角色下
:myapp Mac$ git checkout master
Switched to branch 'master' #在master角色下合并分支命令
:myapp Mac$ git merge login
Updating 50d5a2f..57202e2
Fast-forward
dir2/app2.js | +-
index.html | +
login.html | ++++++++++
files changed, insertions(+), deletion(-)
create mode login.html #以下演示同步到GitHub上
#查看是否已有远程连接
:myapp Mac$ git remote
#创建远程连接命令,"git@github.com:****/homework.git"此内容需要在GitHub指定查看上复制
:myapp Mac$ git remote add origin git@github.com:*****/homework.git
#查看是否已有远程连接
:myapp Mac$ git remote
origin
:myapp Mac$ git push -u origin master
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository. Please make sure you have the correct access rights
and the repository exists.
:myapp Mac$ git remote add origin https://github.com/*****/homework.git
fatal: remote origin already exists. #将本地仓库中的文件推送到GitHub仓库上
WGB:myapp Mac$ git push -u origin master
Counting objects: , done.
Delta compression using up to threads.
Compressing objects: % (/), done.
Writing objects: % (/), 1.46 KiB | 213.00 KiB/s, done.
Total (delta ), reused (delta )
remote: Resolving deltas: % (/), done.
To github.com:gdwkong/homework.git
* [new branch] master -> master
Branch master set up to track remote branch master from origin. #切换到master角色下
:myapp Mac$ git checkout master
A README.md
Already on 'master'
Your branch is up-to-date with 'origin/master'.
#创建文件README.md文件
:myapp Mac$ touch README.md
:myapp Mac$ git add .
:myapp Mac$ git status
On branch master
Your branch is up-to-date with 'origin/master'. Changes to be committed:
(use "git reset HEAD <file>..." to unstage) new file: README.md :myapp Mac$ git commit -m 'README.md'
[master 2dcd73c] README.md
file changed, insertion(+)
create mode README.md #由于之前已建立连接,故此时只需直接即可push
WGB:myapp Mac$ git push Counting objects: , done.
Delta compression using up to threads.
Compressing objects: % (/), done.
Writing objects: % (/), bytes | 283.00 KiB/s, done.
Total (delta ), reused (delta )
remote: Resolving deltas: % (/), completed with local object.
To github.com:gdwkong/homework.git
57202e2..2dcd73c master -> master #从GitHub仓库中克隆项目到本地仓库
:myapp Mac$ cd /Users/Mac/Desktop/myapp2
:myapp2 Mac$ ls
:myapp2 Mac$ git clone git@github.com:***/homework.git
Cloning into 'homework'...
remote: Counting objects: , done.
remote: Compressing objects: % (/), done.
Receiving objects: % (/), done.
Resolving deltas: % (/), done.
remote: Total (delta ), reused (delta ), pack-reused
$
4、提交后GitHub中相应的仓库中的内容
记录一次使用terminal进行git管理与提交到Github的过程的更多相关文章
- github仓库主页介绍、用git管理本地仓库和github仓库、搭建网站
github仓库主页介绍 名词解释: 工作区: 添加.编辑.修改文件等动作 暂存区: 暂存已经修改的文件,最后统一提交到git中 git(仓库): 最终确定的文件保存到仓库,成为一个新的版本,并且对他 ...
- 使用git把项目提交到github
1.需要在https://github.com/注册一个账户 2.注册成功后,新建一个repository,用来存放你要上传的项目,如下图所示 这里你需要输入你的项目的名称,可以对你的项目进行描述,如 ...
- ubuntu16系统中pycharm下使用git将代码提交到github仓库
1 在系统中安装git,在terminal中输入以下命令 sudo apt-get update sudo apt-get install git 2 对git进行配置,在terminal中输入以下命 ...
- Ecplise通过Git将项目提交到GitHub
一.参考https://blog.csdn.net/bendanany/article/details/78891804 二.注意点: 1.仓库名必须和项目名相同: 2.若提交出现Can't conn ...
- Git管理项目实例说明-记录和跟踪项目
假设一个HTML项目,使用Git来记录和跟踪这个项目,包括以下内容:1)创建版本库.2)添加与修改文件.3)创建新分支.4)打标签并整理版本库.5)克隆版本库. 1.创建版本库 Creating a ...
- git - 管理项目(SourceTree的使用)
Git 相关命令操作全 1.SourceTree 是什么? SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端,拥有可视化界面,容易上手操作.同时它也是M ...
- 使用Git管理版本
原文地址:廖雪峰的网站 Git 是目前世界上最先进的分布式版本控制系统 Git 的历史 集中式 vs 分布式 集中式的版本库是集中存放在中央服务器的.缺点是必须联网.网速慢的情况就会让人抓狂. 分布式 ...
- App开发流程之源代码Git管理
base项目已经可以编译运行了,只不过没有实际功能而已.继续完善base项目前,我们需要考虑一下代码管理的事情了. 不管是一个人开发还是一个团队开发,对源代码进行版本管理是必须的,任何人对代码的的任何 ...
- 使用git管理github上的项目
使用git可以把我们的项目代码上传到github上面去,方便自己管理,如何使用git?觉得是每位程序猿所必需要有的谋生技能,所以在此记录一下自己学会使用的这个过程: 一.需要注册github账号,这样 ...
随机推荐
- Windows 如何完整备份驱动
软件:DriverBackUp 系统环境:Windows7 首先将DriverBackUp.exe放到桌面,然后运行,我们会看到提示信息提示我们驱动程序被备份到了D盘 然后我们会看到备份界面 这里我们 ...
- [ActionScript 3.0] 通过as3操作web内容
package com.controls.utils { import flash.net.*; import flash.utils.ByteArray; import flash.external ...
- java简单的运算符和表达式
1.运算符的运算级别分为很多层,第一层是(),括号的运算级别最高. 第二层是+,——,*,/,加,减,乘,除 第三层是==,等于号. 第四层是&&,||,或 与 且 && ...
- day1: python3.5学习
1. 基础知识 变量:用于存储信息,方便后面的调用 常量:python中是没有常量这一概念的,若想定义一个常量,需要将变量名大写 举例:name = "Helen" #定义一个 ...
- c#开发Android初学(一)
我也是最近开始学习用c#开发android,最近找在好心网友那里下到了四个android开发安卓的视频(传智的)有想要的朋友可以留下邮箱 废话不多收,分享我最近一个星期的成果. 先看最主要的一个获取数 ...
- word前页与后页页码断开
方法一:以Word2013为例:1. 光标移动到目录页的最后一行,从“页面布局”选项卡“分隔符”中选择“下一页”类型的“分节符”,删除多余的行.分页符等(图1): 2. 双击正文任意一页的页眉/页脚区 ...
- abp 依赖注入声明
public class SchedulerManager : ISingletonDependency { private ILogger logger; public SchedulerManag ...
- python的socket.recv函数陷阱
目录 前言 一个粘包实验 执行结果 排错思路 解决和总结 前言 惯例练习历史实验,在编写tcp数据流粘包实验的时候,发现一个奇怪的现象.当远程执行的命令返回结果很短的时候可以正常执行,但返回结果很长时 ...
- android开发中的BaseAdapter之理解(引用自网络,总结的很好,谢谢)
android中的适配器(Adapter)是数据与视图(View)之间的桥梁,用于对要显示的数据进行处理,并通过绑定到组件进行数据的显示. BaseAdapter是Android应用程序中经常用到的基 ...
- elastic-job动态添加定时任务
在elastic-job的使用过程中,我们会遇到动态添加定时任务的时候,但是官网上面并没有对这块内容进行说明.按照我的理解以及官网上面elastic-job的框架图,ej的定时任务其实是存储在zook ...