git实用操作

  1. git是分布式版本控制系统,无需联网,自身有完整的版本库,有极其强大的分支管理。
  2. 初始化文件夹:git init
  3. 添加git管理文件:git add
  4. 提交 git commit -m "备注"
  5. 查看工作区的状态 git status
  6. 查看工作区修改内容 git diff
  7. 查看历史 git log (--pretty=oneline获取版本号)
  8. 当前版本HEAD 上一个版本HEAD^ 上一个版本HEAD^^ 上一百个版本HEAD~100
  9. 回退到上一个版本 git reset --hard HEAD^ git reset --hard commit_id
  10. 记录每一次命令 git reflog
  11. 工作区和暂存区和master

  1. 查看工作区和版本库里面最新版本的区别 git diff HEAD -- readme.txt
  2. 撤销修改 git checkout
  1. - readme.txt(没有--,就变成了“切换到另一个分支”的命令)
  2. 删除库文件 git rm删掉,并且git commit
  3. 远程连接 git remote add origin git@server-name:path/repo-name.git
  4. 推送内容(第一次用做关联) git push -u origin master
  5. Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。
  6. 克隆 git clone git@github.com:michaelliao/gitskills.git
  7. 分支的切换其实应用到的是指针的设计理念,git不是对文件的管理,而是对文件修改内容的管理。
  8. 创建并切换 git checkout -b dev(相当于git branch dev;git checkout dev)
  9. 查看分支 git branch
  10. 合并到主分支 git merge dev
    1. Fast forward模式(默认) 看不出来曾经做过合并
    2. --no-ff模式 合并要创建一个新的commit,所以加上-m参数,把commit描述写进去。git merge --no-ff -m "merge with no-ff" dev
  11. 删除分支 git branch -d(-D强制删除) dev
  12. 查看分支合并情况(图) git log --graph --pretty=oneline --abbrev-commit
  13. 主分支master、开发分支dev、可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作 git stash
  14. 工作现场列表git stash list
    1. 恢复 git stash apply stash@{0}
    2. 删除 git stash drop stash@{0}
    3. 恢复并删除 git stash pop stash@{0}
  15. feature分支(新功能分支)
  16. 远程git
    1. git会自动对应本地master和远程master
    2. 远程仓库的默认名称是origin
    3. 显示更加详细的信息 git remote -v
    4. 推送分支 git push origin master
  17. 从远程库clone时,默认情况下,只能看到本地的master分支,必须创建本地dev分支 git checkout -b dev origin/dev,然后推送至库dev分支git push origin dev。
  18. 抓取所有包(更新) git pull
  19. 关联本地和库分支 git branch --set-upstream-to=origin/dev dev
  20. rebase变基操作,rebase操作可以把本地未push的分叉提交历史整理成直线
  21. 创建标签 git tag <name> 查看 git tag 查看便签信息 git show <tagname>
    1. -a指定标签名,-m指定说明文字 git tag -a v0.1 -m "version 0.1 released" 1094adb
    2. 删除标签 git tag -d v0.1
    3. 推送标签 git push origin <tagname>
    4. 一次性推送全部尚未推送到远程的本地标签 git push origin --tags
    5. 删除远程标签:先删本地 git tag -d v0.9,再从远程删除 git push origin :refs/tags/v0.9
  22. git push与git pull是一对推送/拉取分支的git命令。
  23. 删除远程仓库 git remote rm origin
  24. git忽略文件 工作区下创建一个特殊的.gitignore文件
  # Windows:
    Thumbs.db
    ehthumbs.db
    Desktop.ini
  # Python:
    *.py[cod]
    *.so
    *.egg
  # My configurations:
    db.ini
    deploy_key_rsa
  1. 强制添加 git add -f App.class
    1. 检查.gitignore文件格式 git check-ignore -v App.class
  2. 最后一次提交 git last
  3. 设置别名(在.git/config文件中):
    1. (git lg)git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
    2. co = checkout ci = commit br = branch st = status
  4. 创建证书登录
    1. 收集所有用户公钥(id_rsa.pub文件),导入到/home/git/.ssh/authorized_keys文件,一行一个。
  5. 如果团队大,可以考虑用gitosis进行管理
    1. 由于是要用Python安装,所以得先yum install python-setuptools
    2. 获取git clone git://github.com/res0nat0r/gitosis.git
    3. 安装python setup.py install
    4. https://blog.csdn.net/davidsky11/article/details/23023729
    5. git clone git@47.104.87.133:girl.git
    6. git clone https://github.com/res0nat0r/gitosis.git

posted @ 2018-10-16 17:14  小白的博客  阅读(224)  评论(0编辑  收藏  举报