git 学习指南
Git是什么?
Git是目前世界上最先进的分布式版本控制系统(没有之一)。
git --version
--global 参数,有了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置
git config --global user.name 'deroy'
git config --global user.email '2542639616@qq.com'
通过命令 git init 把这个目录变成git可以管理的仓库
git init
创建成功后当前文件夹下会多一个.git的目录,这个目录是Git来跟踪管理版本的
所有的版本控制系统,只能跟踪文本文件的改动,比如txt文件,网页,所有程序的代码等,但是图片,视频这些二进制文件,虽能也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是知道图片从1kb变成2kb,但是到底改了啥,版本控制也不知道
创建一个html
touch index.html
git status index.html #查看这个html的状态
git status #查看是否还有文件未提交
把文件添加到暂存区。
git add index.html
git add *.html#添加某一类文件
git add .#添加所有的文件
git rm --cached index.html
把暂存区的所有内容提交到当前分支上
git commit
git commit -m '附加信息' #提交的同时备注
git diff index.html
Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,上一个版本就是
HEAD^
,上上一个版本就是HEAD^^
,当然往上100个版本写100个^
比较容易数不过来,所以写成HEAD~100。
git log命令显示从最近到最远的显示日志
git log #显示所有提交过的版本信息
git log --pretty=oneline #只显示版本号和提交时的备注信息
git log --oneline #查看简略信息 --oneline参数可以将每条日志的输出为一行
git reset --hard HEAD^ #回到上一个版本
git reset --hard HEAD^^ #回到上上一个版本
git reset --hard HEAD~100 #回到100版本
回退到最新的版本
git reset --hard 版本号
git reflog #查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)
分支的好处就是 在分支里改代码不会影响主干的代码,切换到分支的话生成的代码,再切换到主干的时候那些修改的代码会消失,然后再切换到分支时又会出现,所以在分支测试好代码后再弄到主干里
HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支
git branch login #创建分支
git checkout login #切换到这个分支,
上面两行命令可以直接用下面的替换
git checkout -b login #创建并切换分支
git branch #查看所有分支并显示当前分支
git merge login #主线合并分支的命令 主线里就有了分支的内容了
合并了分支之后可以删除分支
git branch -d login
git remote #查看本项目有没有对应的仓库
$ git remote #后面没有显示内容
如果有仓库
$ git remote #后面显示仓库名称
origin
git remote rm origin
git remote add origin https://github.com/ADeRoy/C_Game_Dem.git #这个仓库地址是我的,换成你们的
git push -u origin master
推送成功后,可以立刻在github页面中看到远程库的内容已经和本地一模一样了
只要本地作了提交,就可以通过如下命令把本地master分支的最新修改推送到github上
git push origin master
现在你就拥有了真正的分布式版本库了
git clone https://github.com/lesliefish/Qt.git
github新建仓库之后会有这些信息
…or create a new repository on the command line
echo "# C_Game_Demo" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/ADeRoy/C_Game_Demo.git
git push -u origin master
…or push an existing repository from the command line
git remote add origin https://github.com/ADeRoy/C_Game_Demo.git
git push -u origin master
…or import code from another repository
You can initialize this repository with code from a Subversion, Mercurial, or TFS project.
复制项目地址
https://github.com/ADeRoy/C_Game_Dem.git
执行命令连接项目:
git remote add origin https://github.com/ADeRoy/C_Game_Dem.git
上传到github代码
git push -u origin master
刷新github会显示上传文件