Focus on technology, enjoy life!—— QQ:804212028
浏览链接:http://blog.csdn.net/y18334702058/article/details/44624305
1.创建与打开仓库
mkdir xxx ——创建XXX空目录
cd xxx ——打开XXX空目录
2.通过git init命令把这个目录变成Git可以管理的仓库:
git init ——初始化Git仓库
3.用命令git add告诉Git,把文件添加到仓库(实际上就是把文件修改添加到暂存区):
git add 文件名
4.用命令git commit告诉Git,把文件提交到仓库(实际上就是把暂存区的所有内容提交到当前分支):
git commit -m “有意义的附加说明”
5.查看工作区的状态
git status
6.查看文件被修改的内容
git diff
7.查看代码的历史版本号
git log
git log –pretty=oneline ——要求版本信息只能在一行中显示
8.HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭
git reset –hard commit_id //commit_id处,填的是版本的id,更具id来穿梭
或git reset –hard HEAD^ //往前一个版本
git reset –hard HEAD^^ //往前两个版本
9.查看命令历史,以便确定要回到未来的哪个版本
git reflog
10.弄明白Git的工作区(当前分区)和暂存区
11.理解Git是如何跟踪修改的,每次修改,如果不add到暂存区,那就不会加入到commit中。
12.撤销修改
命令git checkout – filename意思就是,把filename文件在工作区的修改全部撤销,这里有两种情况:
一种是filename自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是filename已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit或git add时的状态。
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout – file。
git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD
file,就回到了场景1,第二步按场景1操作。场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,版本回退,不过前提是没有推送到远程库。
13.删除文件
git rm //用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容。
14.将本地仓库与github仓库关联起来
1.git init
2.git add README.md
3.git commit -m “first commit”
4.git remote add origin git@github.com:XXX/yyy.git
5.git push -u origin master 将本地仓库同步到github仓库中去。之后,只要本地作提交,通过命令: git push origin master 就可以把本地master分支的最新修改推送至GitHub,不需要-u了。
15.多人协作一个项目的时候,我们每个人可以通过从远程仓库克隆一份来作为己用。
1.git clone git@github,com:sysublackbear/XXXX.git
16.创建分支并且切换到分支
1.git checkout -b dev
2.Switched to a new branch ‘dev’等价于:
1.git branch dev
2.git checkout dev
3.Switched to branch ‘dev’查看分支:
1.git branch 将次分支合并到主分支上面:
1.git merge dev
删除分支:
1.git branch -d dev
2.Deleted branch dev (was fec145a).
17.解决冲突
当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。
用git log –graph命令可以看到分支合并图。
18.Bug修复
修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;
当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场。
19.开发新功能
开发一个新功能,最好新建一个分支;
如果要丢弃一个没有被合并过的分支,可以通过git branch -D name强行删除。
20.参与开源项目先要克隆一份到本地
1。git clone git@github.com:michaelliao/bootstrap.git
Focus on technology, enjoy life!—— QQ:804212028
浏览链接:http://blog.csdn.net/y18334702058/article/details/44624305
原文地址:http://blog.csdn.net/y18334702058/article/details/45847327