Mini-Notes:Git

发现一个写得十分有意思的Git教程:廖雪峰的官方网站http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000


于是乎,学习、整理、记录下来。


以下内容大部分摘录自以上所说的Git教程:


1.Git简介

分布式版本控制系统

1.1诞生

1.2集中式vs.分布式

集中式:版本库集中存放在中央服务器

分布式:每个人的电脑上都是一个完整的版本库


2.安装Git


3.创建版本库 Repository

.../Learn/LearningGit

git init (在LearningGit文件夹下多了.git文件夹,创建了LearningGit仓库)

git add readme.txt

git commit -m "wrote a readme file"(把文件提交到仓库)


4.时光穿梭机

git status(仓库的状态)

git diff readme.txt(查看修改的内容)

4.1版本回退

git log(显示从最近到最远的提交日志、版本号、内容等)

git log --pretty=oneline(一行显示出来)

git reset --hard HEAD^

HEAD: 当前版本

HEAD^: 上一版本

HEAD^^: 上上一个版本

HEAD~100: 往上100个版本

git reset --hard 4a4919(版本号)

git reflog(可以查看命令历史)

4.2工作区和暂存区

Working Directory

LearningGit文件夹就是一个工作区

.git文件夹时Git的版本库

add把文件添加到暂存区(stage)

commit把暂存区的文件提交到当前分支,暂存区就没有内容了

4.3管理修改

git diff HEAD -- readme,txt(查看工作区和最新版本的区别)

4.4撤销修改

git checkout -- readme.txt(直接丢弃工作区的修改,其实就是用版本库内容替换工作区版本内容)

git reset HEAD readme.txt(把stage的修改回退到工作区)

4.5删除文件

rm test.txt(工作区文件删除)

git rm test.txt(版本库中文件删除)

git commit -m "remove test.txt"


5.远程仓库

5.1添加远程仓库

/C/User/john/Desktop/Learn/GKA

git init(这时候GKA文件夹下会有.git文件夹)

git remote add origin git@github.com: sunyy5/GKA.git

git push -u origin master(本地内容推送到远程仓库,-u代表第一次推送时,把本地master分支和远程master分支关联,以后直接使用git push origin master就可以了)

git pull origin master


5.2从远程仓库克隆

git clone git@github.com:sunyy5/GKA.git

或者http://github.com/sunyy5/GKA.git


6.分支管理

6.1创建与合并分支

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

相当于这两个指令: git branch dev和git checkout dev

git branch(查看当前分支)

如果要切换到bug分支前,你在dev分支,而你工作只进行到一半,还没法提交,无法切换到bug分支。

git stash(把当前工作现场储藏起来)

修复完bug之后

git stash list

git stash pop(相当于两个指令:git stash apply和git stash drop)


(5)feature分支

git checkout -b feature-vulcan

如果丢弃一个没有被合并过的分支,则用git branch -D <name>强行删除


(6)多人协作

查看远程仓库信息 git remote -v

本地新建的分支如果不推送到远程,对其他人就是不可见的。

从本地分支推送失败,使用git push origin branch-name

如果推送失败,先用git pull抓取远程的新提交

从本地创建和远程对应的分支,使用git checkout -b branch-name origin/branch-name(本地和远程分支最好一致)

(如果git pull提示“no tracking information”, 则说明本地和远程分支无关联)

建立本地分支和远程分支的关联,使用git branch --set-upstream branch-name origin/branch-name


多人协作的工作模式:

1.试图用git push origin branch-name推送自己的修改

2.推送失败则说明远程分支比本地新,git pull试图合并

3.合并有冲突则本地解决,本地提交

4.解决后再推送


学习完之后,对Git心生仰慕之情。我希望通过自己的努力,在以后的实践中对Git有更深刻的理解。

最后,记下最近对我影响甚深的一句话语:“别被表象迷惑了。”


其他相关资料:

Pro Git

Connecting to GitHub with SSH



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值