【Git】Git初始化一个仓库
简单记录-慕课网 从0开始 独立完成企业级Java电商网站开发
Git初始化一个仓库
git初始化
https://github.com
“.gitignore”文件,这个文件的作用就是告诉Git哪些文件不需要添加到版本管理中。
.gitignore
配置
*.class
#package file
*.war
*.ear
#kdiff3 ignore
*.orig
#maven ignore
target/
#eclipse ignore
.settings/
.project
.classpatch
#idea
.idea/
/idea/
*.ipr
*.iml
*.iws
# temp file
*.log
*.cache
*.diff
*.patch
*.tmp
# system ignore
.DS_Store
Thumbs.db
初始化仓库
通过git init 初始化一个git仓库
x1c@DESKTOP-HVI7SH0 MINGW64 /d/IdeaProjects/imooc/mmall_learning/mmall
$ git init
Initialized empty Git repository in D:/IdeaProjects/imooc/mmall_learning/mmall/.git/
git init
该命令将创建一个名为 .git
的子目录,这个子目录含有初始化的 Git 仓库中所有的必须文件,这些文件是 Git 仓库的骨干。git init
仅仅是做了一个初始化的操作,项目里的文件还没有被跟踪。
检查当前文件状态
可以用 git status
命令查看哪些文件处于什么状态。
通过git status命令发现有几个未被git追踪 的文件
$ git status
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
.gitignore
pom.xml
src/
nothing added to commit but untracked files present (use "git add" to track)
未跟踪的文件意味着 Git 在之前的快照(提交)中没有这些文件.
跟踪新文件
使用命令 git add
开始跟踪一个文件。 要跟踪 这里的所有 文件,运行git add.
:
使用git add.
命令将这这几个文件添加到暂存区
x1c@DESKTOP-HVI7SH0 MINGW64 /d/IdeaProjects/imooc/mmall_learning/mmall (master)
$ git add .
warning: LF will be replaced by CRLF in src/main/webapp/WEB-INF/web.xml.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in src/main/webapp/index.jsp.
The file will have its original line endings in your working directory
此时再运行 git status
命令,会看到这几个 文件已被跟踪,并处于暂存状态,发现有几个文件可以被commit。
x1c@DESKTOP-HVI7SH0 MINGW64 /d/IdeaProjects/imooc/mmall_learning/mmall (master)
$ git status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: .gitignore
new file: pom.xml
new file: src/main/webapp/WEB-INF/web.xml
new file: src/main/webapp/index.jsp
只要在 Changes to be committed
这行下面的,就说明是已暂存状态。 如果此时提交,那么该文件在运行 git add
时的版本将被留存在历史记录中。
git status
命令的输出十分详细,但其用语有些繁琐。 Git 有一个选项可以帮你缩短状态命令的输出,这样可以以简洁的方式查看更改。 如果你使用 git status -s
命令或 git status --short
命令,将得到一种格式更为紧凑的输出。
提交更新
现在的暂存区域已经准备妥当可以提交了。 在此之前,请一定要确认还有什么修改过的或新建的文件还没有 git add
过,否则提交的时候不会记录这些还没暂存起来的变化。 这些修改过但没有暂存的文件只保留在本地磁盘。 所以,每次准备提交前,先用 git status
看下,所需要的文件是不是都已暂存起来了, 然后再运行提交命令 git commit
:
$ git commit
这种方式会启动文本编辑器以便输入本次提交的说明。
也可以在 commit
命令后添加 -m
选项,将提交信息与命令放在同一行,如下所示:
$ git commit -m ""
记住:提交时记录的是放在暂存区域的快照。 任何还未暂存文件的仍然保持已修改状态,可以在下次提交时纳入版本管理。 每一次运行提交操作,都是对你项目作一次快照,以后可以回到这个状态,或者进行比较。
跳过使用暂存区域
尽管使用暂存区域的方式可以精心准备要提交的细节,但有时候这么做略显繁琐。 Git 提供了一个跳过使用暂存区域的方式, 只要在提交的时候,给 git commit
加上 -a
选项,Git 就会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过 git add
步骤:
$ git commit -a -m 'added new benchmarks'
git commit进行第一次commit
git commit -am ‘后面直接加注释’
git commit -am 'first commit init mall_project'
x1c@DESKTOP-HVI7SH0 MINGW64 /d/IdeaProjects/imooc/mmall_learning/mmall (master)
$ git commit -am 'first commit init mall_project'
[master (root-commit) 255b57f] first commit init mall_project
4 files changed, 117 insertions(+)
create mode 100644 .gitignore
create mode 100644 pom.xml
create mode 100644 src/main/webapp/WEB-INF/web.xml
create mode 100644 src/main/webapp/index.jsp
移除文件
要从 Git 中移除某个文件,就必须要从已跟踪文件清单中移除(确切地说,是从暂存区域移除),然后提交。 可以用 git rm
命令完成此项工作,并连带从工作目录中删除指定的文件,这样以后就不会出现在未跟踪文件清单中了。
git status
命令用于显示工作目录和暂存区的状态。使用此命令能看到那些修改被暂存到了, 哪些没有, 哪些文件没有被Git tracked到。git status
不显示已经commit
到项目历史中去的信息。看项目历史的信息要使用git log
.
添加远程仓库
运行 git remote add
添加一个新的远程 Git 仓库
git remote add origin SSH的地址
git remote add origin git@github.com:liuawen/mmall_learning.git
x1c@DESKTOP-HVI7SH0 MINGW64 /d/IdeaProjects/imooc/mmall_learning/mmall (master)
$ git remote add origin git@github.com:liuawen/mmall_learning.git
推送到远程仓库
git push [remote-name] [branch-name]
。 当你想要将 master 分支推送到 origin
服务器时(再次说明,克隆时通常会自动帮你设置好那两个名字),那么运行这个命令就可以将你所做的备份到服务器:
$ git push origin master
只有当你有所克隆服务器的写入权限,并且之前没有人推送过时,这条命令才能生效。 当你和其他人在同一时间克隆,他们先推送到上游然后你再推送到上游,你的推送就会毫无疑问地被拒绝。 你必须先将他们的工作拉取下来并将其合并进你的工作后才能推送。 阅读 Git 分支 了解如何推送到远程仓库服务器的详细信息。
x1c@DESKTOP-HVI7SH0 MINGW64 /d/IdeaProjects/imooc/mmall_learning/mmall (master)
$ git push -u origin master
Warning: Permanently added the RSA host key for IP address '13.229.188.59' to the list of known hosts.
To github.com:liuawen/mmall_learning.git
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'git@github.com:liuawen/mmall_learning.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
git pull的作用是从一个仓库或者本地的分支拉取并且整合代码。git pull
x1c@DESKTOP-HVI7SH0 MINGW64 /d/IdeaProjects/imooc/mmall_learning/mmall (master)
$ git pull
warning: no common commits
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 5 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (5/5), done.
From github.com:liuawen/mmall_learning
* [new branch] master -> origin/master
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=origin/<branch> master
x1c@DESKTOP-HVI7SH0 MINGW64 /d/IdeaProjects/imooc/mmall_learning/mmall (master)
git push -u origin master
强制覆盖git push -u -f origin master
$ git push -u -f origin master
Warning: Permanently added the RSA host key for IP address '13.250.177.223' to the list of known hosts.
Enumerating objects: 10, done.
Counting objects: 100% (10/10), done.
Delta compression using up to 4 threads
Compressing objects: 100% (7/7), done.
Writing objects: 100% (10/10), 1.54 KiB | 225.00 KiB/s, done.
Total 10 (delta 0), reused 0 (delta 0)
To github.com:liuawen/mmall_learning.git
+ 6e19c70...255b57f master -> master (forced update)
Branch 'master' set up to track remote branch 'master' from 'origin'.
查看本地分支git branch
x1c@DESKTOP-HVI7SH0 MINGW64 /d/IdeaProjects/imooc/mmall_learning/mmall (master)
$ git branch -r
origin/master
查看远程分支git branch -r
x1c@DESKTOP-HVI7SH0 MINGW64 /d/IdeaProjects/imooc/mmall_learning/mmall (master)
$ git branch -r
origin/master
创建并切换分支
git checkout -b v1.0 origin/master
x1c@DESKTOP-HVI7SH0 MINGW64 /d/IdeaProjects/imooc/mmall_learning/mmall (master)
$ git checkout -b v1.0 origin/master
Switched to a new branch 'v1.0'
Branch 'v1.0' set up to track remote branch 'master' from 'origin'.
分支开发 主干发布
git push origin HEAD -u
x1c@DESKTOP-HVI7SH0 MINGW64 /d/IdeaProjects/imooc/mmall_learning/mmall (v1.0)
$ git push origin HEAD -u
Total 0 (delta 0), reused 0 (delta 0)
remote:
remote: Create a pull request for 'v1.0' on GitHub by visiting:
remote: https://github.com/liuawen/mmall_learning/pull/new/v1.0
remote:
To github.com:liuawen/mmall_learning.git
* [new branch] HEAD -> v1.0
Branch 'v1.0' set up to track remote branch 'v1.0' from 'origin'.
【Git】Git初始化一个仓库的更多相关文章
- 【Git版本控制】Git初始化一个仓库
git init //初始化一个本地库 git add -A//将所有的文件添加到暂存区 git commit -m “首次提交” //将暂存区的文件提交到版本库 git remote add ori ...
- GIT: 远程建立一个仓库,然后复制到本地
1. 登录 GIT,创建一个新的仓库 gitskills 2. 创建的时候,要选择 Initialize this repository with a readme ,让GitHub初始化仓库 3. ...
- Git随笔 -- 初始化远程仓库
1. 新建文件夹(作为本地仓库与之远程仓库关联),进入文件夹空白处右键选择Git Bash(安装程序下载).[或者在开始菜单里找到Git Bash并打开,使用命令进入文件夹:cd 文件夹名称.] 2. ...
- git从无到有建立一个仓库并上传文件
第一步,创建仓库 登录自己的码云 第二步,本地操作 1.到你所要上传的文件夹中右键 选择git bash here 2.初始化项目 git init 3.连接远程仓库 刚才我们建立的时候的远程地址就 ...
- git怎么fork一个仓库并pull request
一.使用git push <-----------就是这个玩意 1.设置用户信息 当安装完 Git 应该做的第一件事就是设置你的用户名称与邮件地址. 这样做很重要,因为每一个 Git 的提交都会 ...
- 使用git从本地上传至git码云远程仓库
从 http://git-scm.com/download 下载window版的客户端.下载好,一步一步安装即可. 使用前的基本设置 git config --global user.name & ...
- 在Linux下配置git并设置远程仓库
自己常在云服务器上进行代码的编写,为了更方便的保存工作和管理,便使用了git这个版本管理工具来管理.下面介绍整个服务的配置过程. git的下载安装: 使用以下命令,回车即可,中间过程会有一个按y回车的 ...
- git推送远程仓库以及分支介绍
1.介绍 我们要把本地仓库的项目推送到远程服务器,首先我们得有自己的服务器,一般我们选择码云和github,码云和github的操作差不多,今天我们再次介绍码云的使用 2.码云的使用 第一步:首先我们 ...
- Git操作_本地仓库第一次推送到远程仓库
实现目的: 本地已经安装好Git,pycham已经有一个项目,打算放到Git远程仓库 前提条件:本地配置好了公钥,且GIT 上关联好公钥,步骤如下: git本地仓库连接github操作步骤:windo ...
随机推荐
- 学习笔记: mysql增删改查基础语句
mysql基础入门语句 增: INSERT INTO 表名(字段1, 2, 3) VALUES('值1', '2', '3') 删: DELETE FROM 表明 WHERE 删除条件 不提供更新条件 ...
- C++ 消失的析构函数 —— virtual 实现的动态析构
在C++类的结构中可以使用类方法创建内存,使用类的析构函数去施放内存,但有这么一种情况会导致:即使在析构函数中释放了内存,但由于析构函数没有被调用而导致内存泄漏,如下代码. 1 #include &l ...
- .NET Core +Angular 项目 部署到CentOS
前言: 最近公司需要开发项目能在Linux系统上运行,示例开发项目采用.Net Core + Angular开发:理论上完全支持跨平台. 但是实践才是检验真理的唯一标准:那么还是动手来验证实现下:过程 ...
- CSS —— css属性
1.颜色属性 background-color: #CCCCCC; rgba (红色,绿色,蓝色,透明度) background-color: rgba( 0, 0, 0, 5 ) 2.字体属性 fo ...
- phpstorm ext-json is missing in composer.json
- Erlang那些事儿第1回之我是变量,一次赋值永不改变
第1回先从不变的变量说开来,学过其他编程语言的人都知道,变量之所以叫变量,是因为它会经常变,被修改.假设原本X = 10,后来再执行X = 24,那么X就从10变成了24,这对于程序新手和老鸟来说, ...
- Angular实战之使用NG-ZORRO创建一个企业级中后台框架
前言: 在之前的一篇文章已经介绍过了,公司正在使用NG-ZORRO组件库开发后台应用,并且详细的介绍了Angular开发环境的搭建和项目的创建.这篇文章就是为了让大家熟悉了解我们该如何在Angular ...
- Java源码研究001:关于List的并发修改异常
这个就是实现一个简单的 ArrayList 的遍历,如果存在一个为"aaa"的值,就添加一个"ccc" package Array; import java.u ...
- java动态代理实现与原理详细分析(转)
关于Java中的动态代理,我们首先需要了解的是一种常用的设计模式--代理模式,而对于代理,根据创建代理类的时间点,又可以分为静态代理和动态代理. 一.代理模式 代理模式是常用的java设计模式, ...
- C# 打开Excel文件
方法一:(调用Excel的COM组件) 在项目中打开Add Reference对话框,选择COM栏,之后在COM列表中找到"Microsoft Excel 11.0 Object ...