git初始化及常用命令

git初始化配置步骤:
1.配置自己的git的名字和邮箱
$ git config --global user.name "your name"
$ git config --global user.email "[email protected]"

  1. 创建一个想用来存放git文件作为版本库的本地文件夹,进入该文件夹
    mkdir gitFile
    cd gitFile
    //pwd 可以查看当前路径
  2. 在该文件夹内 git init
    把这个目录变成git可以管理的仓库
    //路径下多了 .git隐藏文件
    //ls -a 可以查看所有文件,包括隐藏文件
  3. 生成自己的shh key
    ssh-keygen -t rsa -C "[email protected]"
    //然后一路回车
    //多了 ~/.ssh,该路径下有秘钥
    5.将公共秘钥拷贝需要的平台上
    //cd ~/.ssh
    //拷贝id_rsa.pub中所有内容

git项目开发使用流程
1.开发的时候clone项目到本地
2.切换到自己的开发分支,可以在feature分支新建本次开发分支:
git checkout -b feature/add-new-xxxx
3.开发后将修改提交到自己的开发分支
git add . && git commit -m "对应描述"
git push
4.测试的时候,需要将本次开发的分支merge到develop分支上,最好merge之前提pr。
5.如果本地分支和develop出现冲突,新建一个分支,git checkout -b hotfix/add-new-xxxx,将develop分支最新的内容都拉下来,将feature分支合并到hotfix分支,然后在feature分支解决冲突,解决完冲突后,将hotfix分支合并到develop分支。此时,feature分支上的内容是最新且没有冲突的,并且feature上的内容都来自master,不会被develop污染。
6.测试完成没有问题后,将feature分支merge到master分支上。
7.最后,删除开发中用到的feature/add-new-xxxx、hotfix/add-new-xxxx分支。

常用指令:
git log //提交历史记录
git reflog//命令历史
git reset --hard HEAD^ //回滚到上个版本
git reset --hard 版本号前几位 //回滚到特定版本
//HEAD 表示当前版本
//HEAD^上一个版本
//HEAD~100前第一个版本
git status //查看所在分支以及修改的文件
工作区 -> 暂存区(stage) -> 分支(如master) -> 远程仓库(origin)
git add //将文件修改提交到暂存区
git commit -m '说明' //将修改提交到分支
git checkout -- //丢弃文件在工作区的修改
git reset HEAD //可以把暂存区的修改撤销掉(unstage)
git push ( origin master) //提交到远程仓库
//第一次git push -u ,-u参数可以将本地的master分支和远程的master分支关联起来,以后可以直接git pull或git push
git remote add origin git@ssh://[email protected]/hfe/flight-mktep.git //关联远程库
git clone git@ssh://[email protected]/hfe/flight-mktep.git //克隆远程库
//Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。
git branch //查看分支,当前所在的分支前面有*
git branch -b //创建并切换新的分支
//相当于
//git branch
//git checkout
git branch -d //删除分支
git branch --set-upstream origin/ //建立本地分支和远程分支的关联
git merge //合并某分支到当前分支
git log --graph //可以看到分支合并图。

git tag //打tag
git tag // 查看所有tag
git show //查看标签信息
git push origin //推送一个本地标签
git push origin --tags //推送全部未推送过的本地标签
git tag -d //删除一个本地标签
git push origin :refs/tags/ //可以删除一个远程标签

你可能感兴趣的:(git初始化及常用命令)