Git教程总结

来源:互联网 发布:手机淘宝安全中心在哪 编辑:程序博客网 时间:2024/06/05 10:04

前言

今天就看了廖雪峰老师的Git入门教程,还没看完,只看完了一半。现总结如下(2016-3-5)

创建版本库

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

git add:将文件的修改存入暂存区(git add与git commit的区别是:git add是将文件的修改存入暂存区,暂存区可以接受各种文件的修改,这样我们可以多次使用这个指令来挑选出我们需要提交的所有修改放入暂存区中;而git commit是将暂存区中的所有修改,一次性(原子性)提交到版本库中)

git commit:将暂存区中的所有文件的修改一次性(原子性)地提交到版本仓库中

时光穿梭机

git status:查看当前仓库的状态

git diff:查看两个文件的不同

git log:显示从最近到最远的提交日志(要输出结果好看一点,请加上--pretty=oneline参数)

git reset –hard commit_id:穿梭到commit_id指向的版本处(HEAD指向的是当前版本,上一个版本HEAD^,上上版本HEAD^^,往上100个版本HEAD~100)

git reflog:查看历史命令,以便确定要回到未来的哪个版本

工作区和暂存器

关于工作区和暂存区的概念,请参考原文

管理修改

每次修改,如果不add到暂存区,那就不会加入到commit中

撤消修改

git checkout -- readme.txt
情况一:文件被修改后没有被放入暂存区,现在撤消修改后就回到和版本库一模一样的状态。

情况二:已经添加到暂存区后,又做了修改,现在,撤消修改就回到添加到暂存区后的状态。

总之,该命令就是让这个文件回到最近一次git commitgit add的状态。

警告:版本回退的条件是你还没有把本地的版本库推送到远程。如果你已经推送了,那么就惨了。

总结:
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file ,就回到了场景1,第二步按场景1操作。

场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。

删除文件

在你add并commit一个文件之后(如果你只是add,并没有commit,那么你只需要按照上面的场景2进行操作即可),你得一次执行如下命令:
rm file(删除工作区的内容)
git rm file(删除文件在暂存区的更改)
git commit(将版本库和暂存区同步)

如果你只是删错了,那么那你只需要使用 git checkout -- file 命令来恢复工作区的文件

远程仓库

自己去网页版的github或者coding创建仓库。然后在git bash中关联并推送

添加远程仓库

要关联一个远程库,使用命令 git remote add origin git@server-name:path/repo-name.git

关联后,使用命令 git push -u origin master 第一次推送master分支的所有内容;此后,每次本地提交后,只要有必要,就可以使用命令 git push origin master 推送最新修改。

从远程库克隆

要克隆一个仓库,首先必须知道仓库的地址,然后使用 clone 隆。

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

创建和合并分支

Git鼓励大量使用分支:

查看分支:git branch

创建分支:git branch branch-name

切换分支:git checkout branch-name

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

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

删除分支:git brach -d branch-name

0 0