git使用

1.  SVN 与 GIT 的区别

SVN 是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器那里得到最新版本,然后干活,完了之后把自己做的东西推送到中央服务器;

GIT 是分布式版本控制系统,它没有中央服务器,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上面。

2.  如何操作

git init  目录变成git可以管理的仓库

当即项目的目录中会出现一个 .git 的目录,用来跟踪管理版本;

1). 使用 git add readme.txt 添加到暂存区(没有任何提示则表示成功);

2). 用命令 git commit 告诉 git ,把文件提交到仓库 (git commit -m " 提交注释");

3). git status 查看状态,是否还有文件未提交;

4). 版本回退:git log(查看历史版本)   git reset --hard HEAD~100(回退到第几个版本,~后面的数字代表第几个版本)

5). 获取到版本号:git reflog

3.  理解工作区与暂存区的区别?

工作区:就是你在自己电脑上面看到的目录,比如目录下 test 里的文件 (.git隐藏目录版本库除外),或者以后需要再新建的目录文件等等都是属于工作区范畴。

版本库:工作区有个隐藏目录 .git ,这个不属于工作区,这是版本库。其中版本库里面存了很多东西,其中最重要的就是 stage(暂存区),还有 git 为我们自动创建了第一个分支 master ,以及指向 master 的一个指针 HEAD 。

使用 Git 提交文件到版本库有两步:

第一步:git add  把文件添加进去,实际上就是把文件添加到暂存区;

第二步:git commit 提交更改,实际上就是把暂存区的所有内容提交到当前分支上;

4.  git checkout --readme.txt  把 readme.txt 文件在工作区做的修改全部撤销;

     注意:git checkout --readme.txt 中的 -- 很重要,如果没有 -- ,那么命令就变成创建分支了。

5.  删除文件。  rm 文件名;

6.  远程仓库

把本地内容推送到远程,使用 git push 命令,实际上是把当前分支 master 推送到远程。

git pull 抓取仓库最新文件,有冲突,解决冲突再进行 push ;

只要本地有提交,就可以通过 git push origin master , 把本地 master 分支的最新修改推送到 github , 现在你就拥有了真正的分布式版本库了。

7.  创建与合并分支

在版本回退里,已经知道,每次提交,Git 都把他们串成一条时间线,这条时间线就是一个分支。截止目前,只有一条时间线,在Git里,这个分支叫主分支,即 master 分支 。HEAD 严格来说不是指向提交,而是指向 master ,master 才是指向提交的,所以,HEAD 指向的就是当前分支。

git checkout 命令加上 -b参数表示创建并切换,相当于如下 2 条命令:

git branch dev

git checkout dev

git branch 查看分支,会列出所有的分支,当前分支前面会添加一个 “*” 星号。

git merge 命令用于合并指定分支到当前分支上;

总结创建与合并分支命令如下:

查看分支:git branch

创建分支:git branch name

切换分支:git checkout name

创建 + 切换分支:git checkout -b name

合并某分支到当前分支:git merge name

删除分支:git branch -d name

多人协作:

首先 git push origin branch-name 推送自己的修改;

如果推送失败,则是因为远程分支比你的本地更新早,需要先用 git pull 试图合并;

如果合并有冲突,则需要解决冲突,并在本地提交。再用 git push origin branch-name 推送;

原文链接:https://www.imooc.com/article/20411

原文地址:https://www.cnblogs.com/wangqian888/p/12603505.html