Git&Github

一.创建和管理版本库(本地仓库)

1.git init 初始化一个仓库
2.添加文件到git仓库

(1)git add <file>   (将指定文件添加至stage(暂存区))
(2)git commit  (-am " 修改信息")  :-a (自动将所有修改过的文件添加至stage)
   (所以有了-a可以不用第一步)  -m  (“修改的描述信息”)

3.git status:被修改但没有提交的文件
4.git diff <filename> :查看文件具体被修改的内容
5 .git reset –hard HEAD^ :返回上一个版本(HEAD~100:返回前100个版本)
6.git reset –hard commit_id:返回指定版本
7.git log:查看提交历史(以便确定历史版本)
8.git reflog:查看命令历史(以便确定要回到未来哪个版本)
9.工作区和暂存区的概念:

(1)git add 实际就是把文件修改添加到stage
(2)git commit 把stage的内容添加到master

《Git&Github》

git管理的是修改而不是文件(就算两次修改的是同一个文件,也要commit两次)

9.git checkout –<file> 直接丢弃工作区的修改
10.git reset HEAD <file> 丢弃stage中的文件
11.git remove<file>:删除版本库中的文件(比如你在工作区删除了,但是add到stage,就需要删除)
12.git checkout –<file>:你误删了工作区的某个文件,但是已经add到stage,就可以用该命令还原

二. 中央仓库

以上操作的都是本地仓库,git起到了版本控制的作用(每次commit都是一个版本),但它的分布式体现在哪了?这就需要中央仓库了(GitHub,码云(gitee))

1.关联本地仓库与中央仓库并上传文件到中央仓库:
(1)创建SSHkey(如果用户目录下有.ssh,无需创建)
(Git Bash下)ssh-keygen -t rsa -C “289799074@qq.com”(-t rsa是密钥的类型(非对称加密))
操作完这个命令后会在用户目录下出现 .SSH目录,目录中有id_rsa(私钥,不能泄漏出去)
id_rsa.pub(公钥,可以告诉别人)
(2)把私钥告诉本地系统
ssh-add ~/.ssh/id_rsa
(3)查看私钥,复制私钥粘贴到码云/gitHub相应位置
cat ~/.ssh/id_rsa.pub
(4)本地仓库通过ssh与中央仓库关联:git remote add origin git@gitee.com:guoyancheng/mumall.gitt
(5)把本地的内容推送到中央仓库:git push -u origin master
(如果提示远程仓库已经存在:执行git remote rm origin)
(6)(从现在起,只要本地作了提交,就可以通过这条命令git push origin master)

2.从远程仓库克隆至本地
git clone git@github.com:michaelliao/gitskills.git

3.创建与合并分支

(1)git checkout -b dev 创建并切换到dev分支(相当于下面两条)
(2)git branch dev  创建dev分支
(3)git checkout dev 切换到dev分支
(4)git branch 查看当前分支
(5)git merge dev 将指定分支合并到当前分支
(6)git branch -d dev  删除分支

三.分支管理策略

在实际开发中,我们应该按照几个基本原则进行分支管理:

(1)master分支:应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;
(2)dev分支:干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;
(3)单独分支:你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。

    原文作者:kaka
    原文地址: https://segmentfault.com/a/1190000014643053
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞