git工具使用
做项目怎么能不学会用git?这下得学学了,本文是一些常见的指令和IDEA的创建配置,远程仓库主要选择的是国内开源的码云Gitee进行(不用梯子)
1. 版本控制工具
-
目前主流的版本控制器有:
- Git
- SVN(Subversion)
- CVS(Concurrent Versions System)
- VSS(Micorosoft Visual SourceSafe)
- TFS(Team Foundation Server)
- Visual Studio Online
-
现在影响力最大且使用最广泛的是Git与SVN。下面讲讲两者的功能区别.
2. 版本控制的分类
2.1 本地版本控制
- 记录文件每次的更新,可以对每个版本做一个快照,或是记录补丁文件,适合个人用,如RCS。
2.2 集中版本控制 SVN
- 所有的版本数据都保存在服务器上,协同开发者从服务器上同步更新或上传自己的修改。所有的版本数据都存在服务器上,用户的本地只有自己以前所同步的版本,如果不连网的话,用户就看不到历史版本,也无法切换版本验证问题,或在不同分支工作。而且,所有数据都保存在单一的服务器上,有很大的风险这个服务器会损坏,这样就会丢失所有的数据,当然可以定期备份。代表产品:SVN、CVS、VSS。
2.3 分布式版本控制
- 所有版本信息仓库全部同步到本地的每个用户,这样就可以在本地查看所有版本历史,可以离线在本地提交,只需在连网时push到相应的服务器或其他用户那里。由于每个用户那里保存的都是所有的版本数据,只要有一个用户的设备没有问题就可以恢复所有的数据,但这增加了本地存储空间的占用。
- 不会因为服务器损坏或者网络问题,造成不能工作的情况!
2.4 Git与SVN的主要区别
-
SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而工作的时候,用的都是自己的电脑,所以首先要从中央服务器得到最新的版本,然后工作,完成工作后,需要把自己做完的活推送到中央服务器。
-
集中式版本控制系统是必须联网才能工作,对网络带宽要求较高。
-
Git是分布式版本控制系统,没有中央服务器,每个人的电脑就是一个完整的版本库,工作的时候不需要联网了,因为版本都在自己电脑上。协同的方法是这样的:比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
-
Git可以直接看到更新了哪些代码和文件!
-
3. 常用的Linux和git命令
3.1 Linux命令
- cd : 改变目录。
- cd . . 回退到上一个目录,直接cd进入默认目录
- pwd : 显示当前所在的目录路径。
- ls(ll): 都是列出当前目录中的所有文件,只不过ll(两个ll)列出的内容更为详细。
- touch : 新建一个文件 如 touch index.js 就会在当前目录下新建一个index.js文件。
- rm: 删除一个文件, rm index.js 就会把index.js文件删除。
- mkdir: 新建一个目录,就是新建一个文件夹。
- rm -r : 删除一个文件夹, rm -r src 删除src目录
rm -rf / 切勿在Linux中尝试!删除电脑中全部文件!
-
mv 移动文件, mv index.html src index.html 是我们要移动的文件, src 是目标文件夹,当然, 这样写,必须保证文件和目标文件夹在同一目录下。
-
reset 重新初始化终端/清屏。
-
clear 清屏。
-
history 查看命令历史。
-
help 帮助。
-
exit 退出。
-
#表示注释
3.2 git命令
-
git init:初始化一个git仓库
-
git clone:clone一个git仓库(也可利用SSH进行克隆)
git clone git://github.com/xxxxx/grit.git -
git config:配置信息
git config --global user.name '你的用户名' git config --global user.email '你的邮箱' -
git add:添加文件到缓存命令
git add . -
git status:查看文件的状态命令
-
git diff:查看更新的详细信息命令
-
git commit:提交命令; git commit 将缓存区内容添加到仓库中,可以在后面加-m选项,以在命令行中提供提交注释,格式如下:
git commit -m "第一次版本提交" -
git reset HEAD:取消缓存命令
-
git rm:删除命令
1. 如果只是简单地从工作目录中手工删除文件,运行 git status 时就会在 Changes not staged for commit 的提示。要从 Git 中移除某个文件,就必须要从已跟踪文件清单中移除,然后提交。可以如下使用: git rm <file> 2. 如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f git rm -f <file> 3. 如果把文件从暂存区域移除,但仍然希望保留在当前工作目录中,换句话说,仅是从跟踪清单中删除,使用 --cached 选项即可 git rm --cached <file> 4. 可以递归删除,即如果后面跟的是一个目录做为参数,则会递归删除整个目录中的所有子目录和文件: git rm –r * -
git mv:移动或重命名命令
-
git merge:合并分支命令,
-
git merge命令可以将任意分支合并到到当前分支中去,命令格式如下:
git merge branchname -
git branch:查看分支命令
-
git pull: 更新分支(直接进入带有.git的根目录中即可)
-
可在目标文件夹上右键
bash here,实现最基础的命令,如图所示:
4. IDEA上传项目到gitee(码云)
4.1 在gitee上创建新的仓库
-
这里就不详细介绍了,注意介绍可版权版本即可。最后复制
HTTPS链接或者SSH链接,为后续的IDEA导入做好准备。
4.2 IDEA上传项目(长图…)
-
第一步,后选择默认的文件夹🆗即可~
-
第二步:创建为本地的项目的目录;
-
第三步:添加路径;
-
第四步:查看当前的文件夹目录,选择上传的文件;
-
第五步:输入本次提交的文字说明
-
第六步:我们点击commit后会出来一个警告,继续点击commit。
-
第七步:本地提交~
-
第八步:选择项目的PUSH
-
第九步:点击Define remote。输入我们从仓库复制的地址,利用HTTPS或者SSH都行。首次会出现输入帐号用户名和密码,输入即可~
-
第十步:点击PUSH尝试上传
-
第十一步:点完后可能会弹出这个警告,就是冲突了,解决下就好了。
-
找到项目所在的文件夹,鼠标右键。点击Git Bash Here
-
输入这两个指令:
git pull origin master –allow-unrelated-historiesgit push -u origin master -f -
会出现下面的图片显示即可:
-
-
第十二步:返回IDEA重新PUSH即可实现更新~
-
2022版在右上角有蓝色的√,点击即可将本地的代码上传到指定的仓库啦~
-