git基本操作

1.如何初始化一个git版本管理器

git init

2.如何把本地文件提交到版本库

有两步:git add . 和 git commit -m

3.查看提交的状态

git status

4.查看提交的历史

git log (提交详细信息)

git log --pre--pretty=oneline (简化历史信息)

5.如何回退上一个版本

git reset --hard HEAD^

6.如何回退到指定的版本

git reset --hard **** (提交id,可以不用写全,git会自动补全)

7.如何查看所有提交的id

git reflog

8.什么是工作区

就是电脑里能看到的目录

9.什么是版本库

.git 相当于一个版本库

版本库中包含:暂存区、指针、默认分支marter

git add . 命令相当于把修改的文件存放到暂存区

git commit 相当于把暂存区的文件提交到当前分支

10.如何丢弃工作区的修改

git checkout --radme.txt

11.如何丢弃暂存区的修改

git reset

12.如何删除

git rm 然后 git commit

远程仓库

1.配置ssh key

ssh-keygen -t rsa -C "[email protected]" (这里是你自己的邮箱)

2.登陆github

配置ssh key

粘贴id_rsa.pub文件的内容

假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了

3.添加远程仓库

有两种方式:git clone 和 git remote add origin ****** (这里是仓库的地址)

4.把本地库的所有内容推送到远程库上

git push -u origin master

由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令

从现在起,只要本地作了提交,就可以通过命令

git push origin master

5.关于git clone

Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快

某些只开放http端口的公司内部就无法使用ssh协议而只能用https

git分支

分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。

现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作

1.创建dev分支,切换到dev分支

git checkout -b dev (表示创建并切换分支)

分开来写

git branch dev 

git checkout dev

2.查看当前的分支

git branch

命令会列出所有分支,当前分支前面会标一个*号

3.切换回主分支

git checkout master

4.合并分支

git merge dev (Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息)

git merge --no-ff -m "merge with no-ff" dev (分支历史上就可以看出分支信息)

5.删除dev分支

git branch -d dev

git checkout . 清除工作区

你可能感兴趣的:(git基本操作)