[关闭]
@Great-Chinese 2017-02-13T13:55:26.000000Z 字数 3019 阅读 859

分布式代码管理系统Git

分布式代码管理系统Git


1.1 Git安装

  1. # 安装git
  2. yum install -y epel-release
  3. yum install -y git
  4. # 安装完成后,设置用户名与邮箱
  5. git config --global user.name "melody"
  6. git config --global user.email "melody@melody0113.com"
  7. ls -la # 查看文件
  8. cat .gitconfig # 查看.gitconfig文件

1.2 创建版本仓库并推送文件

  1. mkdir /home/gitroot # 创建存储版本仓库的目录
  2. cd /home/gitroot
  3. git init # 用这个命令初始化,让这个目录变成git的管理仓库
  4. Initialized empty Git repository in /home/gitroot/.git/
  5. ls /home/gitroot/.git/ # 自动生成一些文件
  6. vim 1.txt # 创建一个文件
  7. git add 1.txt # 先添加文件
  8. git commit -m "add new 1.txt" # 再提交到版本仓库
  9. # 查看文件状态
  10. git status
  11. # 恢复修改的文件
  12. git checkout -- 1.txt
  13. # 比较两个文件的不同
  14. git diff

1.3 版本变更

  1. git log # 查看所有提交git仓库的记录操作
  2. git log --pretty=oneline # 一行显示,更清楚
  3. git reset --hard 5be7 # 回退到某一个版本
  4. git reflog # 显示所有的版本

1.4 文件恢复

版本回退是文件恢复的一个操作项目

  1. # 恢复到上一次提交的状态
  2. git checkout 1.txt
  3. # 如果修改1.txt文件,保存后,git add 1.txt了,没有commit.再想回到上一次提交的状态,可以使用
  4. git reset HEAD 1.txt
  5. # 然后再
  6. git checkout 1.txt

1.5 文件删除

  1. cp 1.txt 2.txt
  2. # 首先本地删除
  3. rm -f 1.txt # 本地删除1.txt文件
  4. git checkout 1.txt # 本地恢复1.txt文件
  5. # 然后再git仓库彻底删除
  6. git rm 1.txt # git仓库里删除1.txt文件
  7. git commit -m "delete 1.txt" # 提交后,就彻底删除了1.txt文件

1.6 创建远程仓库

  1. # 首先在网址注册一个账号,创建自己的git,点repositories再点new
  2. https://github.com/
  3. # 自定义名字,比如叫studygit,
  4. studygit --> public --> creat repository
  5. # 添加key
  6. settings --> SSH and GPG --> linux机器上的/root/.ssh/id_rsa.pub到这里 --> 保存即可
  7. # 如何查看/root/.ssh/id_rsa.pub的公钥
  8. ssh-keygen
  9. # 把本地仓库推送到远程仓库
  10. / mkdir studygit --> cd studygit --> git init # 首先在本地仓库创建一个名字与远程仓库一样
  11. git remote add origin git@github.com:melodyyan0113/studygit.git
  12. vim melody.txt --> git add melody.txt --> git commit -m "add melody.txt" # 然后在本地创建新文件
  13. git push -u origin master # 然后把本地的studygit推送到远程的studygit
  14. vim melody.txt --> git add melody.txt --> git commit -m "change melody.txt" # 第二次修改文件
  15. git push # 再次推送就直接git push

1.7 克隆远程仓库

  1. cd home
  2. git clone git@github.com:melody0113/lanmp.git
  3. cd lanmp
  4. vim lanmp.sh
  5. git add lanmp.sh
  6. git commit -m "chang a line ##1111"
  7. git push # 推送到远程服务
  8. git pull # 更新远程代码到本地

1.8 使用分支

  1. cd ../studygit/ # 首先进入studygit目录下
  2. git branch # 查看分支
  3. git branch melody # 创建分支
  4. git checkout melody # 切换到melody分支下,创建新的linux.txt,并提交
  5. vim linux.txt --> git add linux.txt --> git commit -m "add a newfile linux.txt"
  6. git checkout master # 再切换到master分支下,并没有发现linux.txt
  7. git checkout melody # melody分支下才有linux.txt文件

1.9 分支的合并和删除

  1. # 把新的分支合并到旧的分支上去,
  2. git checkout master # 首先切换到要合并的分支上
  3. git merge melody # 把melody分支合并到master分支上
  4. # 如果master分支和melody分支同时对linux.txt进行了编辑,当合并时会提示冲突,需要先解决冲突才可以继续合并。
  5. # 解决冲突的方法是在master分支下,编辑linux.txt,改为melody分支里的linux.txt的内容。然后提交linux.txt,再 合并melody分支。
  6. git branch -d melody # 删除分支
  7. git branch -D melody # 强制删除

2.0 分支使用原则

master分支是非常重要的,只有在线上发布代码时才用这个分支。 dev分支,专门用途开发的,只有当发布到线上之前,才会把dev分支合并到master 开发人员在dev的基础上再分支成个人分支,个人分支(在自己pc上)里面开发代码,然后再合并到dev分支

  1. # dev分支合并bob分支的命令如下
  2. git checkout dev #先切换到dev分支
  3. git merge bob

2.1 现场保留

  1. # 当正在编辑文件时,发现另外一个分支里有bug,就可以用git stash保留现场,处理完bug后再来编辑文件
  2. vim 3.txt
  3. git add 3.txt
  4. git stash # 保留现场
  5. git status # 查看状态
  6. git stash list # 查看所有保留的现场
  7. git stash apply # 恢复现场
  8. git stash apply stash@{0} # 指定stash

2.2 git 别名

  1. cd ../studygit/
  2. # 取别名
  3. git config --global alias.ci commit
  4. git config --global alias.br branch
  5. git config --global alias.co checkout
  6. git config --global alias.lg "log --pretty=oneline"
  7. # 用别名查看相关的命令
  8. git lg
  9. git br dev
  10. git co dev
  11. git co master
  12. git br
  13. cat /root/.gitconfig # 别名的配置文件所在路径
  14. # 查看git别名使用命令
  15. git config --list |grep alias
  16. #查看log小技巧
  17. git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) reset' --abbrev-commit"
  18. #取消别名
  19. git config --global --unset alias.br
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注