一、 创建版本库
$ git init
创建版本库
二、时光穿梭常用命令
1. 基础命令
$ git add
把文件添加进去,将文件修改添加到暂存区
$ git commit``` ```git commit -m "提交描述"
提交更改,将暂存区所有内容提交到当前分支
$ git status
时刻掌握仓库当前的状态
$ git diff
查看different
$ git diff HEAD -- 文件名
查看工作区和版本库里面最新版本的区别
$ git log
显示最近到最远的提交日志
2. 撤销修改
$ git checkout --file
丢弃工作区的修改
$ git reset HEAD file
添加到了暂存区,想丢弃修改。第一步此命令,第二部git checkout --file
命令
3. 删除文件
rm 文件名
在文件管理器中删去文件
两种情况:
1. 确实要从版本库中删去文件则执行此$ git rm 文件名
命令
2. 删错了,则执行$ git checkout -- 文件名
4. 版本回退
$ git reset --hard 3628164
版本回退
$ git reflog
重新查看版本号
三、远程仓库
1. 添加远程仓库
$ git remote add origin git@github.com:topbo/filename.git
2. 推送到远程仓库
关联后,使用命令$ git push -u origin master
第一次推送master分支的所有内容,此后每次本地提交后,就可以使用命令$ git push origin master
推送最新修改
3. 从远程仓库克隆
$ git clone ...
四、分支管理
查看分支:$ git branch
创建分支:$ git branch <name>
切换分支:$ git checkout <name>
创建+切换分支:$ git checkout -b <name>
合并某分支到当前分支:$ git merge<name>
删除分支:$ git branch -d<name>
解决冲突
当Git无法自动合并分支时,就必须首先解决冲突,解决冲突后台,再提交,合并完成。
用$ git log --graph
命令可以看到分支合并图。
多人协作
抓取分支:
$ git checkout -b dev origin/dev
$ git push origin dev
如果有冲突$ git pull
把最新的提交从origin/dev
抓下来,然后在本地合并,解决冲突,再推送。
$ git pull
也失败了,原因是没有指定本地dev
分支与远程origin/dev
分支的链接,根据提示,设置dev
和origin/dev
的链接:
$ git branch --set-upstream dev origin/dev
学习来自廖雪峰的Git教程