一:安装git
Mac自带git,所以就不用安装了。
二:创建版本库
1.创建一个空目录:
mkdir filename
cd filename
pwd //此命令用于显示当前目录
2.把这个目录变成git可以管理的仓库(重点:git init)
git init
(这个命令的效果:当前目录下多了一个.git目录,这个目录是用来跟踪管理版本库的,这个目录是隐藏的,用 ls -ah 可以看到)
3.把文件添加到版本库(重点:git add git commit )
a.先编写一个readyme.txt文件,放到当前目录下
b-1. git add readme.txt (把文件添加到仓库)
b-2. git commit -m “” (把文件提交到仓库)
三:时光机穿梭
0:(重点内容:git status git diff )
修改文件,然后查看当前的状态:git status
git diff : 查看具体修改了哪些内容
git add 之后,运行 git status
git commit
git status
1.版本回退 (重点:git reset --hard commitID,git log , git reflog)
(修改,提交,修改,提交。。。)
git log 查看我们提交的历史纪录(如果输出信息太多眼花缭乱,就用这个:git log --pretty=oneline)(输出前面的一大段字符串是commit ID 即版本号)
a. git reset --hard HEAD^ :回退到上一个版本
cat readme.txt :查看文件的内容
b. 指定回到未来某个版本
b-1. git reset --hard commitID(前提是没有关闭终端,能找到前面的commitID)
b-2. git reflog 纪录每一次在版本库里的命令(即:commit 或 reset)
每条记录到前面有版本号,然后 git reset --hard commitID
2.工作区和暂存区(重点:理解git add和git commit的含义)
工作区:即电脑里能看到的目录
版本库:工作区中的隐藏目录 .git,版本库中最重要的是 stage( 或index ) 和 master 以及 指针 HEAD
git add 的含义:把文件修改添加到暂存区
git commit的含义:把暂存区的所有内容提交到当前分支
3.管理修改(重点内容:理解 git管理的是修改,而不是文件)
4.撤销修改(重点内容:git checkout -- file ,git reset HEAD file)
a. 写错了内容:git checkout -- file 可以丢弃工作区的修改,让文件回到最近一次 git commit 或 git add 时的状态
b. 不但写错了,还git add到了暂存区:git reset HEAD readme.txt 可以把暂存区的修改撤销,重新放回工作区
5.删除文件(git rm readme.txt ,git commit )
删除一:rm filename: 如果删错文件了,把误删的文件恢复:git checkout -- readme.txt
如果确实想删,就git rm readme.txt 然后 git commit
删除二:直接git rm readme.txt 然后 git commit
命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删
四:远程仓库
先看看本地有没有ssh公钥(~/.ssh),如果有的话再看看里面有没有id_rsa和id_rsa.pub这两个文件。
如果没有的话,就创建SSH Key:ssh-keygen -t rsa -C “youremail@example.com”,然后一路回车。
登录github,打开account setting,ssh keys 页面,添加一个ssh key,将id_rsa.pub的内容粘贴上去。就好了。
1.添加远程库(重点:创建仓库,本地与服务器关联,git push)
登录github,然后create a new repo,创建新仓库,输入name->创建。
根据Github的提示,在本地的仓库下运行命令:git remote add origin ...
git push --set-upstream origin master ,然后输入github账号和密码(这个是我自己试出来的,和教程不一样,反正怎样也成功了)
然后修改文件内容之后,add commit ,git push ,然后就成功了。
2.从远程仓库克隆
登录Github创建一个新的仓库,选中initialize...(会自动创建readme文件),创建
然后 git clone git的地址,就OK啦!!!
五:分支管理
1.创建与合并分支(重点:git branch, git branch <name>, git checkout <name>, git checkout -b <name>, git merge <name>, git branch -d <name>)
创建 dev分支,然后切换到dev分支:git checkout -b dev (即创建并切换:git branch dev ,git checkout dev)
查看当前分支:git branch
对文件进行修改并提交:。。。
在dev分支上的工作完成,切换回master分支:git checkout master
把dev分支的工作成果合并到master:git merge dev
合并完成,就可以删除分支了:git branch -d dev
2.解决冲突
合并分支的时候出现冲突,解决冲突的时候就正常解决就行了,解决完之后,再提交:add ,commit .最后删除分支。
用git log --graph可以看到分支合并图
(下次再学习的时候再补充,今天先学到这里)