git 简明使用教程

来源:互联网 发布:ubuntu安装gz软件包 编辑:程序博客网 时间:2024/04/29 16:47

最近学习了git 的使用方法,在此整理记录一下,本文将以最简单有效的方式说明git的使用方法,方便查看。

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流程
上图所示为git文件操作流程,我们首先在初始化的本地仓库建立一个文件test.txt。

提交流程

此时,在当前文件夹目录下输入

git status

查看当前版本库状态,可以看到输出
git status
表明当前工作区有改动,此时我们输入

git add test.txt

将test.txt文件加入到暂存区,再输入git status查看状态,可以看到
gitadd
表明文件已经加入到暂存区,我们输入

git commit -m "add test.txt"

将文件提交到办本库中,-m参数后的字符串表示提交说明,至此,本地文件提交流程完毕。


撤销流程

本地库的所有操作都有撤销的方法,如果我们要撤销工作区内的文件修改操作(add之前),在当前文件夹下输入

git status

可以看到被修改的文件列表
git checkout status
此时我们输入

git checkout -- test.txt

就能够撤销test.txt的修改,使文件回到上一次add或commit的状态。

如果要撤销在暂存区内的文件(已经add但是没有commit),只输入

git status

可以看到已经被add到暂存区的文件列表
git reset status
此时我们输入

git reset HEAD test.txt

就能将test.txt退回到工作区,再使用

git checkout -- test.txt

撤销工作区的修改
如果要撤销已经commit的文件,我们就要使用版本回退功能,首先输入

git log --pretty=oneline

查看过去各版本信息
git log
第一个空格前的长串字符是唯一的版本号,此时输入

git reset --hard c9c5c0

就能够退回到版本号以c9c5c0开头的版本去,–hard后跟版本号,可以不用全部输入,git会自动查询。
也可以使用

git reset --hard HEAD^

退回到上一个版本,HEAD^表示上一个版本,HEAD^^表示上两个版本,HEAD~100表示上一百个版本。
退回版本后原来的版本并不会消失,使用git reset –hard 版本号仍然能够转移过去。

git reflog

命令也能够查询过去进行操作的版本号。

5.github远程仓库

gihub配置

首先在github上注册一个账号并新建一个仓库
new repository
然后我们在本地仓库目录下输入

ssh-keygen -t rsa -C "youremail@example.com"

输入自己的邮箱,余下步骤回车,之后我们能在用户目录(不是git 安装目录)下找到.ssh文件夹,其中的id_rsa.pub就是公钥文件,使用文档编辑器打开,复制其中全部内容。
进入github上的setting后点击SSH and GPG keys
ssh 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出现下图所示的错误
conflict error
表明远程仓库和本地仓库有冲突存在,应该先使用

 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/branchNamegit push origin :branchName

将本地分支与远程分支进行连接

git branch --set-upstream branchName origin/branchName

在合并分支的时候可能会产生冲突,此时git会提醒你手动解决冲突,在冲突文件中<<<<<<<、>>>>>>>之间的内容是冲突内容,=======表示两个文件冲突内容的分界线,解决冲突后使用add,commit提交。

1 0