git 简明使用教程
2016-07-06 11:34
295 查看
最近学习了git 的使用方法,在此整理记录一下,本文将以最简单有效的方式说明git的使用方法,方便查看。
同时git也能够连接远程仓库例如github,将文件存储在远程服务器,便于多人协作和共享。
安装完成后,windows使用git bash,linux使用Shell进行操作,输入
进行用户名和邮箱的设置,至此,安装完成
可以将当前文件夹设置为本地仓库,同时此文件夹中会多一个“.git”的隐藏文件夹作为版本库和保存git相关配置
上图所示为git文件操作流程,我们首先在初始化的本地仓库建立一个文件test.txt。
查看当前版本库状态,可以看到输出
表明当前工作区有改动,此时我们输入
将test.txt文件加入到暂存区,再输入git status查看状态,可以看到
表明文件已经加入到暂存区,我们输入
将文件提交到办本库中,-m参数后的字符串表示提交说明,至此,本地文件提交流程完毕。
可以看到被修改的文件列表
此时我们输入
就能够撤销test.txt的修改,使文件回到上一次add或commit的状态。
如果要撤销在暂存区内的文件(已经add但是没有commit),只输入
可以看到已经被add到暂存区的文件列表
此时我们输入
就能将test.txt退回到工作区,再使用
撤销工作区的修改
如果要撤销已经commit的文件,我们就要使用版本回退功能,首先输入
查看过去各版本信息
第一个空格前的长串字符是唯一的版本号,此时输入
就能够退回到版本号以c9c5c0开头的版本去,–hard后跟版本号,可以不用全部输入,git会自动查询。
也可以使用
退回到上一个版本,HEAD^表示上一个版本,HEAD^^表示上两个版本,HEAD~100表示上一百个版本。
退回版本后原来的版本并不会消失,使用git reset –hard 版本号仍然能够转移过去。
命令也能够查询过去进行操作的版本号。
然后我们在本地仓库目录下输入
输入自己的邮箱,余下步骤回车,之后我们能在用户目录(不是git 安装目录)下找到.ssh文件夹,其中的id_rsa.pub就是公钥文件,使用文档编辑器打开,复制其中全部内容。
进入github上的setting后点击SSH and GPG keys
点击new SSH keys后,将复制的内容粘贴到key框中,输入title,完成github的配置。
其中yourName是你的用户名,yourRepository是你在github上的远程仓库名,这一步将远程仓库命名为origin 并连接上了本地仓库。
接下来使用
就能将本地已经commit的文件发送到github上你的关联仓库的master分支中,第一次使用-u参数以后就不需要了。
如果push出现下图所示的错误
表明远程仓库和本地仓库有冲突存在,应该先使用
将远程仓库的mater分支下载到本地,然后在本地文件中解决冲突后再进行push操作即可。
输入
在本地创建一个名为newBranch的分支,并切换到这个分支进行操作。
使用
查看分支列表,分支前带“*”表示正在使用当前分支。
切换分支
合并指定分支到当前分支
创建远程分支,本地分支创建后push远程仓库会自动创建一个新分支
删除本地分支
删除远程分支
将本地分支与远程分支进行连接
在合并分支的时候可能会产生冲突,此时git会提醒你手动解决冲突,在冲突文件中<<<<<<<、>>>>>>>之间的内容是冲突内容,=======表示两个文件冲突内容的分界线,解决冲突后使用add,commit提交。
1.git是什么
git是一个版本管理工具,可以管理记录你的文件变化过程,随时找回编辑前的版本。但是git只能查看文本类文件的改动,其他文件类型看不到详细改动内容。同时git也能够连接远程仓库例如github,将文件存储在远程服务器,便于多人协作和共享。
2.git安装
在命令行或terminal中输入“git”查看是否安装,如果没有安装:Linux
terminal中输入sudo apt-get install git
mac OS X
下载Git OS X Installer安装Windows
下载git安装安装完成后,windows使用git bash,linux使用Shell进行操作,输入
git config --global user.name "Your Name" git config --global user.email "email@example.com"
进行用户名和邮箱的设置,至此,安装完成
3.建立本地库
使用命令行在任意一个文件夹目录中输入git init
可以将当前文件夹设置为本地仓库,同时此文件夹中会多一个“.git”的隐藏文件夹作为版本库和保存git相关配置
4.文件操作
上图所示为git文件操作流程,我们首先在初始化的本地仓库建立一个文件test.txt。
提交流程
此时,在当前文件夹目录下输入git status
查看当前版本库状态,可以看到输出
表明当前工作区有改动,此时我们输入
git add test.txt
将test.txt文件加入到暂存区,再输入git status查看状态,可以看到
表明文件已经加入到暂存区,我们输入
git commit -m "add test.txt"
将文件提交到办本库中,-m参数后的字符串表示提交说明,至此,本地文件提交流程完毕。
撤销流程
本地库的所有操作都有撤销的方法,如果我们要撤销工作区内的文件修改操作(add之前),在当前文件夹下输入git status
可以看到被修改的文件列表
此时我们输入
git checkout -- test.txt
就能够撤销test.txt的修改,使文件回到上一次add或commit的状态。
如果要撤销在暂存区内的文件(已经add但是没有commit),只输入
git status
可以看到已经被add到暂存区的文件列表
此时我们输入
git reset HEAD test.txt
就能将test.txt退回到工作区,再使用
git checkout -- test.txt
撤销工作区的修改
如果要撤销已经commit的文件,我们就要使用版本回退功能,首先输入
git log --pretty=oneline
查看过去各版本信息
第一个空格前的长串字符是唯一的版本号,此时输入
git reset --hard c9c5c0
就能够退回到版本号以c9c5c0开头的版本去,–hard后跟版本号,可以不用全部输入,git会自动查询。
也可以使用
git reset --hard HEAD^
退回到上一个版本,HEAD^表示上一个版本,HEAD^^表示上两个版本,HEAD~100表示上一百个版本。
退回版本后原来的版本并不会消失,使用git reset –hard 版本号仍然能够转移过去。
git reflog
命令也能够查询过去进行操作的版本号。
5.github远程仓库
gihub配置
首先在github上注册一个账号并新建一个仓库然后我们在本地仓库目录下输入
ssh-keygen -t rsa -C "youremail@example.com"
输入自己的邮箱,余下步骤回车,之后我们能在用户目录(不是git 安装目录)下找到.ssh文件夹,其中的id_rsa.pub就是公钥文件,使用文档编辑器打开,复制其中全部内容。
进入github上的setting后点击SSH and GPG keys
点击new SSH keys后,将复制的内容粘贴到key框中,输入title,完成github的配置。
本地文件发布到github
首先,输入git remote add origin git@github.com:yourName/yourRepository.git
其中yourName是你的用户名,yourRepository是你在github上的远程仓库名,这一步将远程仓库命名为origin 并连接上了本地仓库。
接下来使用
git push -u origin master
就能将本地已经commit的文件发送到github上你的关联仓库的master分支中,第一次使用-u参数以后就不需要了。
如果push出现下图所示的错误
表明远程仓库和本地仓库有冲突存在,应该先使用
git pull origin master
将远程仓库的mater分支下载到本地,然后在本地文件中解决冲突后再进行push操作即可。
5.分支
不同分支互不影响,只有在合并分支的时候需要解决冲突。输入
git checkout -b newBranch
在本地创建一个名为newBranch的分支,并切换到这个分支进行操作。
使用
git branch
查看分支列表,分支前带“*”表示正在使用当前分支。
切换分支
git branch branchName
合并指定分支到当前分支
git merge branchName
git push origin develop
创建远程分支,本地分支创建后push远程仓库会自动创建一个新分支
删除本地分支
git branch -d branchName
删除远程分支
git branch -r -d origin/branchName git push origin :branchName
将本地分支与远程分支进行连接
git branch --set-upstream branchName origin/branchName
在合并分支的时候可能会产生冲突,此时git会提醒你手动解决冲突,在冲突文件中<<<<<<<、>>>>>>>之间的内容是冲突内容,=======表示两个文件冲突内容的分界线,解决冲突后使用add,commit提交。
相关文章推荐
- RPC failed; result=22, HTTP code = 411
- 查看github pages文档的方式
- 使用BAE的基于Web.py的简单博客程序
- git更新已經刪除的文件
- 提取Git每次提交后Commit的文件
- GIT迁移服务器
- 分布式版本管理git入门指南使用资料汇总及文章推荐
- git终极指南:在实际开发中的应用
- 两分钟学会如何在github托管代码
- Git远程操作详解
- 25个 Git 进阶技巧(翻译)
- 详解版本控制利器Git,SVN的异同以及适用范围
- Android自定义View实现仿GitHub的提交活跃表格
- Ruby实现的删除已经合并的git分支脚本分享
- 在 Shell 提示符中显示 Git 分支名称的方法
- Git使用基础篇(一些常用命令和原理)
- git 使用及常用命令
- git eclipse 插件的安装
- git fork同步是什么意思?