赞
踩
Git是一款免费、开源的分布式版本控制系统,广泛应用于软件开发、协作与维护中。它最初由Linus Torvalds于2005年创造,旨在为Linux内核开发提供高效、可靠、易用的版本控制方案。
git本地有三个工作域:工作区(working directory), 暂存区(stage/index), 资源库(repository)。如果再算上远程服务器上的git仓库(remote directory)就可以分为四个工作域。其关系如下:
高效性:Git采用分布式版本控制系统,可以在本地进行版本控制和快速的提交、合并操作,极大地提高了开发效率。
可靠性:Git提供多种备份方案和错误恢复机制,即使遇到意外的中断或磁盘损坏等问题,也可以从备份中恢复数据。
灵活性:Git支持多种操作系统和平台,同时还允许用户自定义本地和远程仓库及代码管理方案。
安全性:Git支持多种加密和身份验证方式,可以保护代码和数据的安全性。
git工作的一般流程:
Untracked: 未跟踪, 此文件在文件夹中, 但并没有加入到git库, 不参与版本控制. 通过git add 状态变为Staged.
Unmodify: 文件已经入库, 未修改, 即版本库中的文件快照内容与文件夹中完全一致. 这种类型的文件有两种去处, 如果它被修改, 而变为Modified. 如果使用git rm移出版本库, 则成为Untracked文件
Modified: 文件已修改, 仅仅是修改, 并没有进行其他的操作. 这个文件也有两个去处, 通过git add可进入暂存staged状态, 使用git checkout 则丢弃修改过,返回到unmodify状态, 这个git checkout即从库中取出文件, 覆盖当前修改
Staged: 暂存状态. 执行git commit则将修改同步到库中, 这时库中的文件和本地文件又变为一致,文件为Unmodify状态. 执行git reset HEAD filename取消暂存,文件状态为Modified
注意事项:
第一次使用git命令提交代码之前,需要先设置用户名及邮箱,之后就不需要了:
其中 “you@126.com” 及"youname" 应替换为你后面使用的真实邮箱和名字。
在进行多个并行作业时,通常会用到分支。
合并时可能产生冲突,需要解决冲突。
有时需要禁止快速合并,可执行:git merge --no-ff -m ‘描述’ 分支名
当前工作区有代码修改了,是不能切换到其他分支,可以先保存现场,再切换
(1)生成通信密钥:ssh-keygen -t rsa -C “su@126.com” ,生成的公钥在/home/stu/.ssh/下,如下图
(2)测试与github或者gitee(码云)有没有连通
测试github 的命令 :ssh -T git@github.com
测试gitee 也就是码云的命令 :
(3)克隆项目:git clone 项目地址
(4) 提交分支到远程仓库:git push origin 分支名
(5) 提交分支到远程仓库,并跟踪分支 :git push -u origin 分支名
(6) 拉取远程服务器上的分支更新到本地 :git pull origin 分支名
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。