Git进阶

╄→尐↘猪︶ㄣ 提交于 2019-12-18 02:14:16

1). git commit -m 与 git commit -am 的区别

-m 是 messsage的意思

  • git commit -m: 正常的提交, 当执行了git add .后, 执行该命令进行提交
  • git commit -am: 同样提交,与上面不同在于如果文件处于暂存区的文件修改后,使用该命令无需进行git add changeFile

2). 版本备份

  1. 1.0版本开发完毕,将1.0版本上传到AppStore,对1.0版本进行备份(打上标签)

    • git tag -a app1.0 -m "这是1.0版本“
    • git tag: 查看标签
  2. 需要将标签push到共享版本库

    • git push origin app1.0
  3. 开始2.0版本的开发

  4. 发现1.0版本有bug,在经理的文件夹下创建一个文件夹,用于修复bug,将共享版本库所有内容clone

    • git clone
  5. 将当前的代码转为1.0标签,创建分支,并切换到该分支

    • git checkout app1.0: 转为1.0标签
    • git checkout -b app1.0fixbug: 创建分支,并切换到该分支
  6. 在分支中修复bug,上传到AppStore,将修复好的版本,打上tag,并上传到共享版本库

    • git tag -a app1.1 -m: "这是修复了1.0bug的1.1版本“
    • git push origin app1.1
  7. 跟当前正在开发的2.0版本进行合并

    pull -> app1.1fixbug

  8. 删除分支

    • git branch: 查看当前在哪个分支
    • git branch -r: 查看本地版本库的分支
    • git branch -d app1.1fixbug: 删除本地分支
    • git branch -r -d origin/app1.1fixbug: 删除本地版本库分支
    • `git push origin --delete app1.1fixbug: 将删除的分支推送到远程仓库

3). 命令行起别名

  • git config alias.st "status": git st实现git status的功能, 只是修改当前git仓库的命令简化
  • git config alias.cm "commit -m"
  • git config --global alias.st "status": 修改全局的命令

4). 删除文件

git rm fileName: 将fileName删除

5). 查看版本信息

  • git log
  • git reflog: 可以查看所有版本回退的操作

6). 版本回退

# 回到当前版本, 放弃所有没有提交的修改
$ git reset --hard HEAD
# 回到上一个版本
$ git reset --hard HEAD^
# 回到之前第三个修订版本
$ git reset --hard HEAD~3
# 回到指定版本号的版本
$ git reset --hard e739a9

7). 给log起别名

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"

8). 版本回退

  • git reset --hard HEAD^: 回到上一个版本(同事A)
  • git push -f: 强制上传到共享版本库
  • git reset --hard HEAD^: 回到上一个版本(同事B)

9). 一个文件夹作为共享版本库

git init --bare

10). 将共享版本库的所有内容下载到本地

git clone 共享版本库地址

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!