赞
踩
毕业到现在一家小公司待了4年,导致只会用SVN,新工作要求用的Git。本以为很难,后来感觉就是实操一遍就会了。本篇选择的开发工具(IDEA)
svn是集中式版本控制系统,版本控制是集中放在中央服务器的,我们每一次操作都是先从中央服务器拉取最新代码,然后与本地的代码进行比对和合并然后提交,如果没有网的情况下是提交不到中央仓库的。
Git是分布式版本控制系统,它的操作命令相对较多,而且提交方式跟svn还不一样,先是从本地添加(Git add)到暂缓区,再从暂缓区提交(Git commit)到本地仓库,最后再从本地仓库推送(Git push)到远程仓库。而且Git主要是对本地库的操作,最后push到远程仓库即可。
Git是分布式版本控制系统,最大的核心概念就是工作流。
工作区-workspace 在当前仓库中的增删改查操作都是在工作区中,创建一个文件夹这个文件夹就是你的工作区(除了.git隐藏目录版本库)你新加的文本目录等都属于工作区,下文会介绍怎么创建文件夹并通过git init命令让它成为管理目录
暂存区-index 类似于缓存区域 暂时存放你修改的代码,比如当前仓库有文件更新,并且执行了 Git add命令,那么这些文件就会出现在暂存区中(这个时候还不是已经提交,git add是添加到暂存区,git commit才是提交到仓库)刚才介绍的工作区通过命令git init会有一个隐藏文件 (.git ) 她就是版本库,版本库里最为核心的就是暂存区,每次通过命令git add到暂存区,通过 git commit 提交到你的仓库,最后通过 git push推送到远程仓库
仓库区-repository 分为本地仓库和远程仓库
下载安装Git后,在开始菜单找到Git文件, 打开Git Bash,
会打开一个类似命令窗口的东西说明安装成功
刚安装Git时,是没有用户名和邮箱的 user.name user.email,但是向远程仓库提交代码需要使用 user.name 和 user.email ,所以先配置。
配置用户名的命令:git config --global user.name “用户名”
配置邮箱的命令:git config --global user.email “邮箱”
创建本地仓库
进入我本地D盘: cd D:
进入我的gitdemo文件中: cd gitdemo
创建文件夹,做为本地仓库 : mkdir testgit
cd testgit 再输入 pwd(显示当前目录)仓库路径就会打印出来
通过 git init 把这个目录变为git可以管理的目录
这个时候你的文件里会出现一个.git的目录,它是用来跟踪版本的
在testgit下创建一个文本 libo.txt 添加内容 :libo123 , 使用命令把这个文件添加到暂存区 命令: git add libo.txt
然后使用命令提交到本地仓库 git commit -m ‘这里写的是提交的注释’
通过 git status 查看当前文件上次提交后是否还有修改,图下显示是正常没有的
如果我在libo.txt里再添加一个内容 libo456 再次执行查看命令 git status,这个时候则会告诉你这个文件有修改了,但是未被提交
那么我想看文件修改的内容是什么呢? 通过命令 :git diff 文件名 , 红色的部分 libo123 是第一次提交的内容 绿色的可以对比看出添加了一行 libo456 ,这个时候我们就可以放心的添加到缓存区进行提交了
提交还是两步操作,第一步添加到暂存区,第二步提交到仓库,通过命令 git add 文件名 ,添加到暂存区后别着急提交 一定查看下当前的文件状态,通过命令 git status
版本回退:现在知道我的文本里面有两行内容 libo123 libo456 ,我现在再添加一个 libo789,跟之前操作一样添加暂存区然后提交
这个时候通过命令 git log 查看历史提交的版本记录,可以看到有三次提交记录
如果提交版本太多看着会比较乱,可以用命令简便查看:git log --pretty=oneline
比如我想回退到上一次的版本,命令:git reset hard HEAD~1 (后面这个数字是回退到之前往上的几个版本,比如回到往上100个版本 : git reset hard HEDA~100)
通过命令查看文本内容 cat 文件名 ,我这里是 cat libo.txt 现在可以看到已经回退到第二次操作的版本了内容就是 libo123 libo456
比如我现在想恢复到最新的版本号但是我又不知道现在的版本号是多少,可以通过:git reflog 查看
我们在libo.txt再添加一行内容 libo111 ,再次添加一个文本文件,起名:student.txt 添加内容:good good study,先查看一下当前的状态,执行命令如下:git status
先把两把文件添加到缓存区 通过命令:git add 文件名 , 再查看下状态:git status
通过命令提交所有文件 : git commit -m “提交所有文件包括新增文件student.txt”
这个时候我在 student.txt 再添加一行内容 day day up,再查看下状态 :git status ,发现有改动 我们先把他添加到暂存区 git add 文件名
现在我已经把文件放到暂存区了,然后我又添加了一行内容 good night ,这个时候还没有添加到暂存区但是我想撤回我本次操作怎么办? 使用命令:git checkout – student.txt ,再查看下内容发现暂存区后的修改内容撤回了~
删除文件
现在我在testgit目录下新增一个文本 b.txt,然后添加到缓存区提交
现在删除新增的文件 ,命令:git rm 文件名
准备工作,github账号注册,创建仓库,生成SSH key
创建完库以后,会有以下的url地址
通过命令:
git add . 把你本地文件夹下所有的文件添加到暂缓区
git status 查看下提交状态
git commit -m “提交注释”
这个时候输入命令进行关联:$ git remote add origin git@github.com:836779537/testgit.git
然后推送到远程仓库, 通过命令:$ git push -u origin master
前期工作安装省略…
打开Sourcetree 左上角选择 工具 —选项—一般— 上文说过生成SSH密钥,配置好你的SSH key的路径地址,最后确定
点击"文件→克隆/新建",打开克隆tab,输入信息后,点击克隆就可以将代码拉到本地
可以看到我们本地已经从github上克隆下来项目了
首先先创建一个demo项目(这个就不演示了),右键项目点击 Git 选择右边的 ADD
再次选择 Git commit
会出来一个变动的目录,红色的文件代表新增的,蓝色的代表有变动的,勾选你的文件点击做下角的提交 commit (commit只是提交到你的本地仓库,还需要通过push推送到github上)
commit提交后 左下角会有个提示,说明提交成功了
最后一步,进行推送 右键项目或者你的文件 选择:Git — push
右边显示的文件是你要推送到远程的文件,点击下方push按钮
推送成功~
再看一眼github上的提交记录
学习Git过程中看的是这位大佬的博客:
https://www.cnblogs.com/tugenhua0707/p/4050072.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。