学习的时候要注意自己的学习目的是什么?
不要想成为一个”软件工具”方面的专家,因为有的指令可能一辈子都用不到,既然是一个工具
那就没有必要把时间浪费在那些”高级”但几乎永远不会用上的指令上,就算可能会用到,自行google就行
Git:世界上最先进的分布式版本控制系统
1.创建版本库 :repository
mkdir 创建一个文件夹
cd到文件下 git init 进行库的初始化
2.创建库中文件 vim readme.txt
3.提交文件 git add readme.txt
git commit -m “wrote a readme file” //这是一个告知
4.git status
可以让我们时刻掌握仓库的当前状态,文件是否被修改,是否可以准备提交
5.git diff “filename”
e.g : git diff readme.txt
查看修改的内容
6. git log
查看提交的日志!
7. git reset //版本回退,
e.g : git reset –hard HEAD^ 慎用!
git reset –hard HEAD^^
git reset –hard HEAD~100
8.git reset –hard “commit id”
进行版本的重新找回,直接区寻找路径
可以通过版本指针来进行”时光穿梭”
9.终极奥义:当你回退后电脑关机怎么办
还有办法
git reflog 来查看命令历史
10.如果不add到暂存区,那么就不会加入到 commit中
11.在文件管理器中, 删除文件
rm text.txt
版本库中删除该文件, git rm 删掉,并且 git commit
eg: git rm text.txt
git commit -m “remove text.txt”
删除错了:
git checkout – text.txt
12. 重头戏来啦:
将文件提交到github
第一步:先建立一个repository,并命名
第二步:在本地要提交的仓库下运行: git remote add origin git@github.com:GeekDengshuo/learngit.git
第三步:推送,git push -u origin master
git push origin master
git remote add origin git@server-name:path/repo-name.git
git push -u origin master
远程库的克隆
1.现在github上新建一个repository,README.md
2.
$ git clone git@github.com:GeekDengshuo/New_repository.git
Cloning into ‘New_repository’…
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
cdNewrepository
c
d
N
e
w
r
e
p
o
s
i
t
o
r
y
ls
README.md
13.git checkout -b dev
//创建并切换 dev 分支
= git branch dev
git checkout dev
利用 git branch 命令查看当前分支
Git鼓励大量使用分支:
查看分支:git branch
创建分支:git branch
切换分支:git checkout
创建+切换分支:git checkout -b
要注意先切换到 master 分支 再进行分支的合并
合并某分支到当前分支:git merge 是dev的分支意思
删除分支:git branch -d
14.分支的策略
在实际开发中,我们应该按照几个基本原则进行分支管理:
首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;
那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,
比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;
你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。
所以,团队合作的分支看起来就像这样:
15.查看远程库的信息
git remote
git remote -v
本地新建的分支如果不推送到远程,对其他人就是不可见的;
从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;
在本地创建和远程分支对应的分支,使用git checkout -b branch-name origin/branch-name,本地和远程分支的名称最好一致;
建立本地分支和远程分支的关联,使用git branch –set-upstream branch-name origin/branch-name;
从远程抓取分支,使用git pull,如果有冲突,要先处理冲突
16.删除远程库
先查看远程库列表
git remote -v
git remote rm origin
17.还有一个需要解决的问题
就是如何利用本地的文件夹进行整个文件夹的githubs 的上传