您的位置:首页 > 其它

Git精简教程,快速上手

2016-11-01 13:14 246 查看
由于以前工作一直使用SVN,这次做RN,客户端使用的Git来管理源码,所以今天花了点时间来研究git。

目的:以最短的时间上手git,不说原理性的东西,让从未使用过git的人能快速上手。so,让我们开始吧。

1、安装 (略) 百度一大把

2、配置账号

[html] view
plain copy

 





git cofig --global user.name "xiaodao"  

git config --global user.email "xiaodao@gmail.com"  

3、克隆一个git仓库,并查看日志(git log)

[html] view
plain copy

 





git clone  http://xxxx/test.git  

cd test  

git log  

4、使用git管理代码流程(这个是重点)



git还是主要使用命令行来操作,感觉在Mac上用还是不错的,下面详细的说下命令,看官请看:

1)  与远程仓库同步 :git pull

[html] view
plain copy

 





F:\gitworkspace\Test>git pull  

Already up-to-date.  

如果是远程仓库项目没有变化,也就是说其他的开发者没有对项目进行变更,会显示这样的信息:
Already up-to-date.

2) 修改文件

  这个就不用说了吧,自己随便改点什么文件吧。

3) 查看变更: git status

有2种情况吧

Untracked files   未载入stage     unstaged

[html] view
plain copy

 





F:\gitworkspace\Test>git status  

On branch master  

Your branch is up-to-date with 'origin/master'.  

Untracked files:  

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

  

        test.txt  

  

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

changes to be committed 已经载入(stage)了

[html] view
plain copy

 





F:\gitworkspace\Test>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:   test.txt  

4) 载入变更 : git add <file>

实际上上面已经看到了,就是将unstaged  状态变更为  changes to be committed

[html] view
plain copy

 





F:\gitworkspace\Test>git add test.txt  

5) 提交载入的变更  git commit -a 

[html] view
plain copy

 





F:\gitworkspace\Test>git commit -a  

[master 6610af9] test  

 1 file changed, 0 insertions(+), 0 deletions(-)  

 create mode 100644 test.txt  

再次查看 状态  nothing
to commit
  实际上这也是一种状态,上面忘记说了。本机已经提交,但是还没有push到服务器。

[html] view
plain copy

 





F:\gitworkspace\Test>git status  

On branch master  

Your branch is ahead of 'origin/master' by 1 commit.  

  (use "git push" to publish your local commits)  

nothing to commit, working directory clean  

显示我们的工作目录clean了(同时提示我们现在的分枝上有1个提交还没有上传)

6)上传到服务器 git  push

[html] view
plain copy

 





F:\gitworkspace\Test>git push  

warning: push.default is unset; its implicit value has changed in  

Git 2.0 from 'matching' to 'simple'. To squelch this message  

and maintain the traditional behavior, use:  

  

  git config --global push.default matching  

  

To squelch this message and adopt the new behavior now, use:  

  

  git config --global push.default simple  

  

When push.default is set to 'matching', git will push local branches  

to the remote branches that already exist with the same name.  

  

Since Git 2.0, Git defaults to the more conservative 'simple'  

behavior, which only pushes the current branch to the corresponding  

remote branch that 'git pull' uses to update the current branch.  

  

See 'git help config' and search for 'push.default' for further information.  

(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode  

'current' instead of 'simple' if you sometimes use older versions of Git)  

  

Username for 'https://github.com': xiaodao  

Password for 'https://xiaodao@github.com':  

Counting objects: 3, done.  

Delta compression using up to 4 threads.  

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

Writing objects: 100% (3/3), 301 bytes | 0 bytes/s, done.  

Total 3 (delta 0), reused 0 (delta 0)  

To https://github.com/xiaodao/Test.git  

   e3479a5..6610af9  master -> master  

查看状态,对比 Your branch is ahead of 'origin/master' by 1 commit.  可以看到没有需要commit的文件了。

[html] view
plain copy

 





F:\gitworkspace\Test>git status  

On branch master  

Your branch is up-to-date with 'origin/master'.  

nothing to commit, working directory clean  

到目前为止,我们看到了新数据都已经上传完毕,服务器上的主分支也已经更新了. 搞定!

还有些其他命令可以参考:



想和详细的了解git,可以参考:http://fsjoy.blog.51cto.com/318484/244397  ,分为几篇文章讲解,非常不错。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: