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的过程的更多相关文章

  1. github仓库主页介绍、用git管理本地仓库和github仓库、搭建网站

    github仓库主页介绍 名词解释: 工作区: 添加.编辑.修改文件等动作 暂存区: 暂存已经修改的文件,最后统一提交到git中 git(仓库): 最终确定的文件保存到仓库,成为一个新的版本,并且对他 ...

  2. 使用git把项目提交到github

    1.需要在https://github.com/注册一个账户 2.注册成功后,新建一个repository,用来存放你要上传的项目,如下图所示 这里你需要输入你的项目的名称,可以对你的项目进行描述,如 ...

  3. ubuntu16系统中pycharm下使用git将代码提交到github仓库

    1 在系统中安装git,在terminal中输入以下命令 sudo apt-get update sudo apt-get install git 2 对git进行配置,在terminal中输入以下命 ...

  4. Ecplise通过Git将项目提交到GitHub

    一.参考https://blog.csdn.net/bendanany/article/details/78891804 二.注意点: 1.仓库名必须和项目名相同: 2.若提交出现Can't conn ...

  5. Git管理项目实例说明-记录和跟踪项目

    假设一个HTML项目,使用Git来记录和跟踪这个项目,包括以下内容:1)创建版本库.2)添加与修改文件.3)创建新分支.4)打标签并整理版本库.5)克隆版本库. 1.创建版本库 Creating a ...

  6. git - 管理项目(SourceTree的使用)

    Git 相关命令操作全 1.SourceTree 是什么? SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端,拥有可视化界面,容易上手操作.同时它也是M ...

  7. 使用Git管理版本

    原文地址:廖雪峰的网站 Git 是目前世界上最先进的分布式版本控制系统 Git 的历史 集中式 vs 分布式 集中式的版本库是集中存放在中央服务器的.缺点是必须联网.网速慢的情况就会让人抓狂. 分布式 ...

  8. App开发流程之源代码Git管理

    base项目已经可以编译运行了,只不过没有实际功能而已.继续完善base项目前,我们需要考虑一下代码管理的事情了. 不管是一个人开发还是一个团队开发,对源代码进行版本管理是必须的,任何人对代码的的任何 ...

  9. 使用git管理github上的项目

    使用git可以把我们的项目代码上传到github上面去,方便自己管理,如何使用git?觉得是每位程序猿所必需要有的谋生技能,所以在此记录一下自己学会使用的这个过程: 一.需要注册github账号,这样 ...

随机推荐

  1. Jquery选择器 选择一个不存在的元素 为什么不会返回 false

    不管找没找到,$()函数都会返回一个jquery对象,这个jquery对象有个length属性,表示找到多少个匹配的DOM元素,为0就是没找到.

  2. Windows文件共享,报错"该用户已禁用"解决方案

    文章背景:学校机器有俩个用户think和adminsitrator.默认administrator禁用,think属于administrators组. 经排错得问题出现情况.因为同学们都是Think用 ...

  3. Java常见错误及解决方案

    1.类定义未找到:java.lang.NoClassDefFoundError java类文件没有上传:上传了,服务器没找到,建议将JSP页面重新更新或重启服务器. 2.

  4. ubuntu15.04中安装mysql和mysql-workbench

    本文主要讲解mysql在ubuntu中的安装和使用,以及mysql workbench的安装和使用.mysql是一个开源的数据库软件,甲骨文的一个产品,是一个性能较好的数据库软件.mysql work ...

  5. Win10将用户名修改为英文

    前言 最近重装了一次Win10系统,手贱地在引导里设置了中文的用户名.使用微软账户进行登录后,Win10以这个中文名建立了用户的文件夹,使得少数软件安装或使用过程中,保存路径不支持中文路径,从而报错, ...

  6. QuantLib 金融计算——数学工具之随机数发生器

    目录 QuantLib 金融计算--数学工具之随机数发生器 概述 伪随机数 正态分布(伪)随机数 拟随机数 HaltonRsg SobolRsg 两类随机数的收敛性比较 如果未做特别说明,文中的程序都 ...

  7. Linux 线程调度策略与线程优先级

    Linux内核的三种调度策略 SCHED_OTHER 分时调度策略. 它是默认的线程分时调度策略,所有的线程的优先级别都是0,线程的调度是通过分时来完成的.简单地说,如果系统使用这种调度策略,程序将无 ...

  8. SpringDataRedis java.net.UnknownHostException: 127.0.0.1 错误

    找了半天发现原来配置文件中多了一个空格; idea中properties文件的127.0.0.1后面出现了一个空格,编辑器将其变深黄色了

  9. Q312 戳气球

    有 n 个气球,编号为0 到 n-1,每个气球上都标有一个数字,这些数字存在数组 nums 中. 现在要求你戳破所有的气球.每当你戳破一个气球 i 时,你可以获得 nums[left] * nums[ ...

  10. 【ORACLE】ID 2299494.1 安装Oracle 11g 86%报错:Error in invoking target 'agent nmhs' of makefile

    参考: ID 2299494.1 In this Document   Symptoms   Changes   Cause   Solution   References APPLIES TO: O ...