bobpxp 发表于 2018-9-17 08:56:10

git 笔记和git 服务器搭建

  git安装
  centos 安装
  yum install -y epel-release
  yum install -y git
  tag:ubuntuapt-get install git
  git设置
  在用户的家目录下有个.gitconfig文件,里面记录用户的姓名和邮箱地址
  git config --global user.name "name"
  git config --global user.email "mail address"
  git 命令
  gitinit让这个目录变成git管理仓库
  git add file 把文件添加到仓库
  git commit -m "XXX" 添加完后需要提交
  git status查看当前仓库中状态
  git diff file 对比file做了什么修改
  git log查看所有提交git仓库记录
  git log --pretty=oneline 一行显示
  git reset --hardxxxx 可以回到指定版本
  git reflog 可以显示所有的版本
  git checkout -- XXX 回复到上一次提交
  git rm file 在git 仓库中删除
  创建远程仓库

[*]  注册github账号
[*]  git remote add origin git@github.com:rockycai/study.git
[*]  git push -u origin master
  克隆一个远程仓库
  git clone git@github.com:rockycai/study.git
  分支管理
  git branch //查看分支
  git branch rockycai //创建分支
  git checkout rockycai //切换到rockycai分支下
  git branch -d rockycai //删除分支
  git branch -D rockycai
  现场回复
  git stash 保留现场
  git stash list查看保存的现场
  git stash apply 恢复现场
  git stash apply stash@{1}
  远程分支
  git remote -v 本地新建分支不推送到远程
  git ls-remote orgin 查看远程分支
  git pushorigin branch-name
  git pull 抓取远程提交
  git checkout -b branch-name origin/branch-name
  标签管理
  git tag v1.0 给master分支打一个标签
  git tag 查看所有分支
  git log --pretty=oneline --abbrev-commit//查看历史commit
  git tag v1.0 XXX 针对历史commit打标签
  git tag v1.0 -m "XXX" XXX
  git tag -d v1.0 删除标签
  git push origin v1.0 //推送指定标签到远程
  git push origin :refs /tags/v1.0 删除远程标签
  别名:
  git config --global alias.ci commit
  git config --global --unset alias.br 删除别名
  搭建git服务器
  1.yum install -y git
  2.添加git用户,并设置shell为/usr/bin/git-shell ,不让用户能正常登陆,只能使用git-shell
  useradd -s /usr/bin/git-shell git
  cd /home/git
  3.创建authorized_keys文件
  mkdir .ssh
  touch .ssh/authorized_keys
  chown -R git.git .ssh
  chmod 600 .ssh/authorized_keys
  定好存储仓库目录
  mkdir /data/gitroot
  cd /data/gitroot
  git init --bare sample.git创建一个仓库
  chown -R git.gitsample.git

[*]  把客户段公钥放到git服务器/home/git/.ssh/authorized_keys文件里
[*]  git clone git@ip:/data/gitroot/sample.git
  tag:
  git remote add origin ssh://git@ip/sample.git
  git push origin rockycai:master         // 提交本地rockycai分支 作为 远程的master分支
  git push origin rockycai:rockycai            // 提交本地rockycai分支作为远程的rockycai分支
  git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s%Cgreen(%cr) %C(bold blue)%Creset' --abbrev-commit"

页: [1]
查看完整版本: git 笔记和git 服务器搭建