1、yum install git
2、$git config --global user.name "Your Name"
git config --global user.email "Your email"
3、在本地/root/public/learngit目录下git init
4、把文件添加仓库$ git add readme.txt
把文件提交仓库
$ git commit -m "wrote a readme file"
5、$ git status
查看仓库当前的状态
查看修改的部分$ git diff readme.txt
6、$ git log
查看提交历史记录$ git log --pretty=oneline
head表示当前版本,head^表示前一个版本,head^^b表示前两个版本,head~100表示前100个版本
7、前一个版本$ git reset --hard HEAD^
8、查看命令历史$ git reflog
9、为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件。
10、$ git checkout -- readme.txt
就是让这个文件回到最近一次git commit或git add时的状态。
11、$ git reset HEAD readme.txt
可以把暂存区的修改撤销掉(unstage),重新放回工作区
12、把本地推送到github,$ git push origin master
要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git;
关联后,使用命令git push -u origin master第一次推送master分支的所有内容;
此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
13、分支
首先,我们创建dev分支,然后切换到dev分支:
$ git checkout -b dev
Switched to a new branch 'dev'
这一句相当于创建及切换到dev分支
$ git branch dev
$ git checkout dev
在分支上修改并commit的不会显示到master上
现在,我们把dev分支的工作成果合并到master分支上:$ git merge dev
用于合并指定分支到当前分支。
合并完成后,就可以放心地删除dev分支了:
$ git branch -d dev
****Git鼓励大量使用分支:
查看分支:git branch
创建分支:git branch
切换分支:git checkout
创建+切换分支:git checkout -b
合并某分支到当前分支:git merge
删除分支:git branch -d **
当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。
用git log --graph命令可以看到分支合并图.
合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。
bug分支
Git提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作
$ git stash
修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;
当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场。
14、创建标签
git tag v1.0
15、搭建git服务器
暂时不需要