git init //在本地创建repository
git add readne.txt //告诉git把文件添加到仓库,修改文件之后也要add
git commit -m "xxx" //声明新的改动,包括上面的添加,xxx为备注内容,后续可以查阅
git status //当前仓库状态,哪些被修改了,哪些提交了等
git diff //查看修改内容
git log //每个版本都修改了声明
git reset --hard () //HEAD^ ,上一版本,HEAD^^,HEAD~100.
工作区和版本区:
目录下即为工作区,.git下为版本区,git add把文件修改提交到暂存区,git commit 提交到当前分支
git管理的是修改:
第一次修改 -> git add
-> 第二次修改 -> git commit
你看,我们前面讲了,Git管理的是修改,当你用git add
命令后,在工作区的第一次修改被放入暂存区,准备提交,但是,在工作区的第二次修改并没有放入暂存区,所以,git commit
只负责把暂存区的修改提交了,也就是第一次的修改被提交了,第二次的修改不会被提交。
提交后,用git diff HEAD -- readme.txt
命令可以查看工作区和版本库里面最新版本的区别
111.txt 已经提交到版本库
rm 111.txt //删除文件 1.txt
彻底删除:
git rm
并且 git commit -m
想反悔:
git checkout --文件名 //用版本库里的替换当前版本
将远程库和本地库关联
git config --global user.name "yourname"
git config --global user.email "[email protected]"
ssh-keygen -t rsa -C [email protected]
然后将ssh 添加到web中 //这样就配置成功了
git remote add origin git@github.com:michaelliao/learngit.git //将本地库和远程库关联起来
git push -u origin master //将本地内容推送到远程库,事件将当前master分支推送到远程
git push origin master //一般没u 如果出现 origin 错误 重新添加一次本地库即可
小结
要关联一个远程库,使用命令git remote add origin [email protected]:path/repo-name.git
;
关联后,使用命令git push -u origin master
第一次推送master分支的所有内容;
此后,每次本地提交后,只要有必要,就可以使用命令git push origin master
推送最新修改
分支管理:
git checkout -b dev //创建dev并切换到devgit checkout -b dev //创建dev并切换到devgit checkout master //切换到master分支,当修改完dev中的文件并提交两次之后,切换回来,文件不变,因为更改的只是dev分支的内容
git buanch //查看当前分支
git merge dev //将dev和并到master上,it merge
命令用于合并指定分支到当前分支。合并后,再查看readme.txt的内容,就可以看到,和dev
分支的最新提交是完全一样的。
git branch -d dev //删除dev分支
小结
Git鼓励大量使用分支:
查看分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>