Git使用-from廖-2
9.其实Git跟踪并管理的是修改,而非文件,所以修改后的一定要先add放到暂存区,然后再commit提交到Git。
10.撤销修改:
第一种:改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用git checkout -- readme.txt。
第二种:不但改乱了工作区某个文件的内容,还添加了暂存区,想丢弃修改,分两步,首先git reset HEAD readme.txt, 回到第一种情况,然后按第一种情况操作。
git reset 既可以回退版本,也可以把暂存区的修改回退到工作区,用HEAD时,表示最新的版本
11.删除文件:直接在文件夹里删除,或者rm命令删除,但是文件已经提交在版本库了
一:确实要从版本库中删除该文件, git rm test.txt | git commit -m "remove test.txt"
二:误删了,可以把误删的文件恢复到最新版本。git checkout -- test.txt
其实是用版本库的版本替换工作区的版本,无论工作区是修改还是删除,都可以一键还原,但是只能恢复文件到最新版本,会丢失最近一次提交后所修改的内容
12.一台电脑上也可以克隆多个版本库,只要不在同一个目录下即可。实际上,找个电脑充当服务器,每天24小时开机,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交。但是搭建服务器没必要,GitHub提供了Git仓库托管服务,所以一个GitHub账号,就可以免费获得GIt远程仓库。
13.创建ssh连接的时候,一路enter回车就对了!ssh-****** -t rsa -C "[email protected]" 然后 learngit上一级目录下面有个.ssh的文件夹,里边有公钥和私钥
然后在终端learngit文件路径下,关联一个远程库 git remote add origin [email protected]:name/..git
把本地库的内容推送到远程库中 git push -u origin master 实际是把当前master分支推送到远程
第一次加上 -u 不但把本地的master分支推送到远程新的master分支,还把本地的master和远程的master分支关联起来,之后的推送或者拉取就可以简化不加了,直接 git push origin master
14.从远程克隆:已有一个工程在远程仓库
在本地电脑上的合适位置,git clone [email protected]:...../..git 工程的地址
然后远程工程就克隆备份到本地电脑了
15.创建分支以及合并删除分支:HEAD指向的是当前分支!当前分支!当前分支!创建了新的分支之后,HEAD指向新分支,对工作区的修改和提交就是针对新分支了,而master指针不变
创建并切换到dev分支:git checkout -b dev 加上-b就相当于:git branch dev创建 || git checkout dev切换
git branch 查看当前分支 把新的修改add/commit 到当前dev分支
切换到master分支,合并dev分支到master git merge dev
删除dev分支: git branch -d dev
16.Git无法自动合并分支时,就必须先解决冲突,然后再add/commit。
git log --graph --pretty=oneline --abbrev-commit 可以看到分支合并图