git项目管理

将本地项目通过git管理:

cd 项目路径,执行:

git init

会在项目路径下生成.git目录,进入后 会看到新生成的文件和目录:

wangxiaodeMacBook-Pro:.git wangxiao$ ls

HEAD config description hooks info objects refs

初使化的动作执行一次就可以,若不想再通过git管理项目,直接删除掉.git目录就可以了。

linux操作系统下.文件夹不可见,可通过 open .git 打开文件夹了:

wangxiaodeMacBook-Pro:基础篇--第01节--使用Dubbo对传统工程进行服务化改造的思路介绍--工程源码 wangxiao$ git status

On branch master

 

Initial commit

 

Untracked files:

  (use "git add <file>..." to include in what will be committed)

 

.DS_Store

edu-common-config/

edu-common-core/

edu-common-parent/

edu-common-web/

edu-common/

edu-facade-user/

edu-service-user/

edu-web-boss/

"\345\210\235\345\247\213\345\214\226\350\204\232\346\234\254(MySQL).sql"

 

nothing added to commit but untracked files present (use "git add" to track)

接下来使用 git add 文件名来添加待提交的文件, git add . 表示添加所有待提交的文件

然后git status查看项目状态

wangxiaodeMacBook-Pro:基础篇--第01节--使用Dubbo对传统工程进行服务化改造的思路介绍--工程源码 wangxiao$ git status

On branch master

 

Initial commit

 

Changes to be committed:

  (use "git rm --cached <file>..." to unstage)

 

new file:   .DS_Store

new file:   edu-common-config/.DS_Store

new file:   edu-common-config/.classpath

new file:   edu-common-config/.project

new file:   edu-common-config/.settings/org.eclipse.core.resources.prefs

new file:   edu-common-config/.settings/org.eclipse.jdt.core.prefs

new file:   edu-common-config/.settings/org.eclipse.m2e.core.prefs

new file:   edu-common-config/.settings/org.eclipse.wst.common.component

 

使用 git commit -m '注释' 提交代码,注释用来说明提交代码的功能

wangxiaodeMacBook-Pro:基础篇--第01节--使用Dubbo对传统工程进行服务化改造的思路介绍--工程源码 wangxiao$ git commit -m 'Dubbo实践项目'

[master (root-commit) 47a3011] Dubbo实践项目

 951 files changed, 57796 insertions(+)

 create mode 100644 .DS_Store

 create mode 100644 edu-common-config/.DS_Store

 create mode 100644 edu-common-config/.classpath

 create mode 100644 edu-common-config/.project

 create mode 100644 edu-common-config/.settings/org.eclipse.core.resources.prefs

 create mode 100644 edu-common-config/.settings/org.eclipse.jdt.core.prefs

 create mode 100644 edu-common-config/.settings/org.eclipse.m2e.core.prefs

 create mode 100644 edu-common-config/.settings/org.eclipse.wst.common.component

 create mode 100644 edu-common-config/.settings/org.eclipse.wst.common.project.facet.core.xml

 create mode 100644 edu-common-config/pom.xml

这样就完成了第一次的提交,现在工作目录是干干净的,没有什么可提交的。

wangxiaodeMacBook-Pro:基础篇--第01节--使用Dubbo对传统工程进行服务化改造的思路介绍--工程源码 wangxiao$ git status

On branch master

nothing to commit, working tree clean

git log查看提交版本和日志

wangxiaodeMacBook-Pro:基础篇--第01节--使用Dubbo对传统工程进行服务化改造的思路介绍--工程源码 wangxiao$ git log

commit 47a30116aa22a39b114987b8b75cfd7c16a7aa9d

Author: 王晓 <wangxiao.xiw@gmail.com>

Date:   Tue Jun 27 16:23:18 2017 +0800

 

    Dubbo实践项目

当我们修改一个文件后,

wangxiaodeMacBook-Pro:基础篇--第01节--使用Dubbo对传统工程进行服务化改造的思路介绍--工程源码 wangxiao$ 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:   edu-common-parent/pom.xml

 

no changes added to commit (use "git add" and/or "git commit -a")

我们想查看一下文件修改前修改后的一个区别,可以使用 git diff命令

wangxiaodeMacBook-Pro:基础篇--第01节--使用Dubbo对传统工程进行服务化改造的思路介绍--工程源码 wangxiao$ git diff 

diff --git a/edu-common-parent/pom.xml b/edu-common-parent/pom.xml

index e1f5f86..d344254 100755

--- a/edu-common-parent/pom.xml

+++ b/edu-common-parent/pom.xml

@@ -10,12 +10,6 @@

        <name>edu-common-parent</name>

        <url>http://maven.apache.org</url>

 

-       <!-- <distributionManagement> <repository> <id>nexus-releases</id> <name>Nexus 

-               Release Repository</name> <url>http://192.168.100.66:8081/nexus/content/repositories/releases/</url> 

-               </repository> <snapshotRepository> <id>nexus-snapshots</id> <name>Nexus Snapshot 

-               Repository</name> <url>http://192.168.100.66:8081/nexus/content/repositories/snapshots/</url> 

-               </snapshotRepository> </distributionManagement> -->

-

        <properties>

                <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

对于git来说是一行一行对比的,可以看到我们删除了几行注释,下面使用git add 添加修改。

wangxiaodeMacBook-Pro:基础篇--第01节--使用Dubbo对传统工程进行服务化改造的思路介绍--工程源码 wangxiao$ git add .

wangxiaodeMacBook-Pro:基础篇--第01节--使用Dubbo对传统工程进行服务化改造的思路介绍--工程源码 wangxiao$ git commit -m '删除pom无效注释' 

[master d9dee74] 删除pom无效注释

 1 file changed, 6 deletions(-)

 

wangxiaodeMacBook-Pro:基础篇--第01节--使用Dubbo对传统工程进行服务化改造的思路介绍--工程源码 wangxiao$ git status

On branch master

nothing to commit, working tree clean

 

远程

我们可以为项目在远程服务器上创建一个版本库,再把本地推送到远程,好处是本地版本整丢了,可以去远程恢复,还可以让其它人协作开发。

我们可以使用github创建免费公共的版本库,但是github国内访问慢,我们改用国内github码云git.oschina.net创建也是一样的。

 

 

wangxiaodeMacBook-Pro:基础篇--第01节--使用Dubbo对传统工程进行服务化改造的思路介绍--工程源码 wangxiao$ git remote add origin https://git.oschina.net/xiw/edu-dubbo-demo.git

wangxiaodeMacBook-Pro:基础篇--第01节--使用Dubbo对传统工程进行服务化改造的思路介绍--工程源码 wangxiao$ git push -u origin master

To https://git.oschina.net/xiw/edu-dubbo-demo.git

 ! [rejected]        master -> master (fetch first)

error: failed to push some refs to 'https://git.oschina.net/xiw/edu-dubbo-demo.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.

 

wangxiaodeMacBook-Pro:基础篇--第01节--使用Dubbo对传统工程进行服务化改造的思路介绍--工程源码 wangxiao$ git remote -v

origin https://git.oschina.net/xiw/edu-dubbo-demo.git (fetch)

origin https://git.oschina.net/xiw/edu-dubbo-demo.git (push)

push之前 需要先pull更新同步一把

wangxiaodeMacBook-Pro:基础篇--第01节--使用Dubbo对传统工程进行服务化改造的思路介绍--工程源码 wangxiao$ git pull --rebase origin master

warning: no common commits

remote: Counting objects: 5, done.

remote: Compressing objects: 100% (4/4), done.

remote: Total 5 (delta 0), reused 0 (delta 0)

Unpacking objects: 100% (5/5), done.

From https://git.oschina.net/xiw/edu-dubbo-demo

 * branch            master     -> FETCH_HEAD

 * [new branch]      master     -> origin/master

First, rewinding head to replay your work on top of it...

Applying: Dubbo实践项目

Applying: 删除pom无效注释

再同步代码到远程分支能正常了

wangxiaodeMacBook-Pro:基础篇--第01节--使用Dubbo对传统工程进行服务化改造的思路介绍--工程源码 wangxiao$ git push -u origin master

Counting objects: 1106, done.

Delta compression using up to 4 threads.

Compressing objects: 100% (922/922), done.

Writing objects:  96% (1062/1106), 27.77 MiB | 3.27 MiB/s   

 

 

 

 

 

 

 

posted @ 2017-06-27 16:33  一口毒苹果  阅读(362)  评论(0编辑  收藏  举报