),使源码的公布和交流极其方便。
Git 的速度非常快,这对于诸如 Linux kernel 这种大项目来说自然非常重要。 Git 最为出色的是它的合并跟踪能力。
git status
看状态
git add
增加一个文件到git index [file name] 是将当前更改或者新增的文件增加到Git的索引中,增加到Git的索引中就表示记入了版本号历史中,这也是提交之前所须要运行的一步,比如'git add app/model/user.rb'就会增加app/model/user.rb文件到Git的索引中
git log
看你commit的日志
git commit
提交当前工作空间的改动内容。类似于SVN的commit命令。比如'git commit -m "story #3, add user model"'。提交的时候必须用-m来输入一条提交信息
git push
将本地commit的代码更新到远程版本号库中,比如'git push origin'就会将本地的代码更新到名为orgin的远程版本号库中
git push origin HEAD:refs/for/master
把当前分支推送到名为origin的远端的master分支上
git reset
还原您更改合并前的
git rm
从当前的工作空间中和索引中删除文件,比如'git rm app/model/user.rb'
git clone
这是较为简单的一种初始化方式,当你已经有一个远程的Git版本号库,仅仅须要在本地克隆一份。比如'git clone git://github.com/someone/some_project.git some_project'命令就是将'git://github.com/someone/some_project.git'这个URL地址的远程版本号库全然克隆到本地some_project文件夹以下
git init
初始化的版本号库(暂且称为working repository)将会生成两类文件:第一类是版本号库文件夹.git文件夹,它里面存放的是版本号的历史记录信息和实际项目文件的拷贝;你能够把这类版本号库叫做"工作文件夹"(working tree);工作文件夹是一个包括有版本号历史文件夹".git"和项目源文件的文件夹;你能够在工作文件夹中改动你的项目源文件并使用命令"git add"和"git commit"进行版本号管理;
git remote
查看与加入远程仓库
git checkout
Git的checkout有两个作用,其一是在不同的branch之间进行切换,比如'git checkout new_branch'就会切换到new_branch的分支上去。还有一个功能是还原代码的作用,比如'git checkout app/model/user.rb'就会将user.rb文件从上一个已提交的版本号中更新回来,未提交的内容所有会回滚。
git pull
从远程获取最新版本号并merge(合并)到本地。它与git fetch的差别是:git fetch仅仅是获取最新版本号,没有合并到本地,可能须要自己进行比較然后再合并的做法。
注意:
1、使用命令"git clone"从一个现有的版本号库克隆出来的新版本号库也是一个工作文件夹(working tree),包括.git文件夹和实际项目源文件;
2、假设使用命令"git init"初始化版本号库,则远程版本号库文件夹下也包括工作文件夹(working tree),当本地版本号库向远程版本号库push时,假设远程版本号库当前成处于要被push的分支上,那么push后的结果不会反映在远程版本号库的工作文件夹(working tree)上,也即:在远程版本号库的文件夹下相应的文件还是之前的旧内容,必须使用命令"git reset --hard"之后才干看到push后的新内容,或者是登陆到远程版本号库文件夹下,使用命令"git config --bool core.bare true"把版本号库的核心属性改动成bare的类型。
Git与Repo的比較
Git操作一般相应一个仓库,而Repo操作一般相应一个项目。即一个项目会由若干仓库组成。
比如,在操作整个Recket项目时使用Repo。而操作当中的某个仓库时使用Git。
在包括隐藏文件夹.git的文件夹下运行git操作。
来源:https://www.cnblogs.com/lcchuguo/p/5287129.html