Git是一款免费、开源的分布式版本控制系统,作为程序员,代码管理除了svn之外,用的最多的就是git了,下面简单介绍下:
第一步,在gitHub上创建账号,何为gitHub?GitHub 是一个面向开源及私有软件项目的托管平台,只支持 Git 作为唯一的版本库格式进行托管,简单点说就是一个用git来操作的代码托管平台

注册成功并登陆后,新建一个仓库


这样子我们在gitHub上的仓库就建好了,接下来,我们来说说使用git
第二步,先安装git,安装git很简单,下载好之后,一直下一步就好了,这里我就不赘述了,不会的可以自行百度,安装好git之后,我们打开git bash
git的用户配置:
git config --global user.name "你的昵称"
git config --global user.email "你的邮箱"

我们在f盘创建一个仓库test,并初始化:
mkdir f:/test /*在f盘创建目录*/
cd f:test /*进入该目录*/
pwd /*查看当前所在目录*/
git init /*初始化仓库(后面会简单说下git clone和git init)*/

在test里面创建一个txt文档,并写入一些东西:

然后用 git status 查看一下当前状态,我们发现多了一个没有提交的文件1.txt,并且给出提示用git add将文件添加到暂存区,然后再commit 提交:
git status /*查看状态*/

git add 1.txt /*将文件1.txt添加到暂存区*/
git commit -m "添加一个txt文件" /*将暂存区文件提交到到本地仓库*/

查看日志,并回退版本
git log /*查看日志*/

修改txt,并提交,再查看日志,发现有两次提交:
( cat 1.txt ----查看文件1.txt)

回退版本到添加1.txt
git reset --hard HEAD^ /*回退到上一个版本*/
git reset --hard HEAD^^ /*回退到上两个版本*/
git reset --hard HEAD~100 /*回退到上100个版本*/
git reset --hard 版本号 /*回退到特定版本*/


*重点:git 本地仓库提交到远程仓库
生成ssh秘钥,秘钥在c盘-用户-.ssh下面,图14
ssh-keygen -t rsa -C "你的邮箱"
关联远程仓库
git remote add origin "gitHub上的仓库名"
推送到远程仓库
git push -u origin master


打开gitHub设置settings,把秘钥添加进去




这样子,代码就提交到gitHub上了
git分支的相关命令
git branch zhangsan /*创建zhangsan这个分支*/
git checkout zhangsan /*切换到zhangsan这个分支*/
git branch /*查看是否切换到分支*/
git checkout -b lisi /*创建lisi这个分支并切换过去*/
(git checkout -b name 源路径 ,也可以这样写,name是自己取的名字,方便记忆)
git branch -r /*查看所有分支(这个是远程的分支,如果想用别人创建的分支要先git fetch下来)*/
git merge lisi /*合并lisi这个分支*/
git branch -d lisi /*删除lisi这个分支*/
git其他常用命令
git pull //从远程获取最新版本并merge到本地
git fetch //从远程获取最新版本到本地,不会自动merge。
git rebase //用于把一个分支的修改合并到当前分支。不产生分叉(所以项目最好是使用fetch + rebase)
git stash //把当前修改的内容保存起来,并退回到没有修改前的代码
git stash pop //把git stash保存下来的代码还原
git revert //将某些文件恢复到未修改前,这个恢复后无法复原
git push //代码提交到远程仓库
git init和git clone理解:
git init:用法如上。
git clone : 直接根据gitHub上的某个仓库的url,clone下来该代码,用法:
git clone [url]
git命令行用不习惯的话,可以下载TortoiseGit这个图形化界面使用,会方便一点
网友评论