设为首页 收藏本站
查看: 848|回复: 0

[经验分享] [Linux] Git: 基本使用

[复制链接]

尚未签到

发表于 2018-1-15 23:03:40 | 显示全部楼层 |阅读模式
  Git 属于分布式版本控制系统( Distributed Version Control System,简称 DVCS )客户端并不只提取最新版本的文件快照,而是把原始的代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。因为每一次的提取操作,实际上都是一次对代码仓库的完整备份。更进一步,许多这类系统都可以指定和若干不同的远端代码仓库进行交互。籍此,你就可以在同一个项目中,分别和不同工作小组的人相互协作。你可以根据需要设定不同的协作流程。

  Git 的基本工作流程:
  1. 在工作目录中修改某些文件。
  2. 对这些修改了的文件作快照,并保存到暂存区域。
  3. 提交更新,将保存在暂存区域的文件快照转储到 git 目录中。

  Git简单使用
  // 创建服务器代码仓库
  sudo useradd git
  sudo passwd git
  sudo mkdir -p /var/git.server/project1
  cd /var/git.server
  sudo chown git project1
  sudo chgrp git project1
  // 建立忽略
  cd project1
  $ cat > .gitignore << end
  > *.[oa]
  > *.so
  > *~
  > !a.so
  > test
  > tmp/
  > end
  sudo su git
  sudo git --bare init
  // 客户端使用
  // 从服务器克隆代码库
  git clone git@192.168.1.X:/var/git.server/project1 project1
  git add a.txt //  添加新增文件
  git add .     //  添加新增文件
  git commit -am "New Commit" // 提交版本
  git commit --amend -am "Rename New Commit" // 重新提交,更改注释
  git checkout -b abeen // 创建abeen分支
  git branch                   // 查看所有分支
  git checkout master   // 切回master分支
  git merge abeen              // 合并abeen分支到master
  git pull origin master// 从服务器刷新最新代码
  git push origin master// 将代码刷新到服务器
  git reset HEAD^             // 恢复到上次提交状态(HEAD^、HEAD~4、commit-id、tag)
  git status                         // 查看当前track状态
  git log                             // 查看提交日志
  git log -3                        // 查看最后三条提交日志
  git log -3 --stat            // 显示简单的统计信息
  git log -l -p                 // 显示修改的详细信息
  // 阶段性版本
  git tag v0.9 // 创建标签
  git tag          // 显示所有标签
  git log v0.9 // 用标签显示提交状态
  git show --stat v0.9 // 用标签显示提交基本信息
  git rm filename                              // 删除代码库里的文件
  git checkout HEAD^ -- filename // 恢复文件
  git rm --cache filename              // 只从代码库删除文件,工作目录文件成未跟踪状态
  git checkout HEAD^ -- filename // 签出以前的某个版本
  git mv filename dirname              // 移动文件
  git show filename                          // 查看某个提交版本的具体信息
  git diff HEAd^ filename              // 比较版本差异
  git reset -hard commit_id //恢复之前版本
  远程仓库
  git remote // 查看当前远程库
  git remote -v (verbose简写)// 显示对应的克隆地址
  git remote add [shortname] [ulr] // 添加远程仓库
  git fetch [remote-name]  // 获取远程仓库信息
  git push origin master // 推送数据到远程仓库
  git remote show [remote-name] // 显示远程仓库信息
  git remote rename pb paul // 修改远程仓库对应名称
  git remote rm paul  // 删除远程仓库
  获取远程分支
  git checkout -b local-branchname origin/remote_branchname
  ---------------------------------------------
  更多内容请参考《Pro Git》

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-435515-1-1.html 上篇帖子: git mergetool配置 下篇帖子: 搭建GIT服务器(CentOS)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表