일명 고운기(高雲起). 호는 학은(鶴隱). 아버지는 공창준(公昌準))이다.
중국 하얼빈[哈爾濱]에서 중학교를 졸업하고, 북만주로 가서 청년운동과 교육사업에 주력하였다. 1930년 7월에 결성된 한국독립당에 가입하였고, 이 당에서 조직한 한국독립군 소대장에 임명되어, 여러 차례의 치열한 전투에서 공을 세웠다.
1932년 12월 총사령관 지청천(池靑天)의 명령으로 강진해(姜鎭海)·심만호(沈萬浩) 등과 함께 한국독립당군의 대표로 중국구국군(中國救國軍) 총사령관 왕더린[王德林]과 합작을 협의하러 닝안[寧安]에 갔으며, 제14사단장 차이스룽[蔡世榮]과 합의하여 한중연합전선을 폈으나 중국군의 배신으로 연합작전은 깨어졌다.
1933년 9월 둥닝현[東寧縣] 전투에서 패퇴한 뒤, 11월 임시정부의 광복군 기간장교 훈련 책임자인 지청천을 따라 조경한(趙擎韓)·오광선(吳光鮮) 등과 함께 상해(上海)로 갔다. 이곳에서 중앙군관학교 뤄양분교[洛陽分校]의 한국인 특설반에 입학, 정치·군사교육을 받고 졸업하였다. 1935년 상해에서 지청천·황학수(黃學秀) 등과 한국독립당을 신한독립당으로 개편하는 데 참여하였고, 신한독립당은 다시 의열단, 한국독립당, 대한독립당, 조선혁명당 등과 함께 조선민족혁명당을 결성하였다.
1938년 9월 한국광복진선청년공작대(韓國光復陣線靑年工作隊)를 조직하여 대장에 취임한 뒤, 황학수와 함께 내몽고로 가서 일본의 군사 기밀을 탐지하는 등 공작을 전개하였고, 한국독립당 감찰위원장에 선출되기도 하였다. 1939년 10월 쓰촨성[四川省]에서 열린 임시의정원의 의원이 되었고, 1940년 2월 임시정부 군무부 군사학편수위원회 위원으로도 활동하였다.
같은 해 9월 한국광복군이 창설되자 총사령부 참모로 임명되어 충칭[重慶]에서 복무하였다. 11월 다시 시안[西安]에서 3개 지대로 편성될 때, 제2지대장 겸 징모2분처(徵募二分處) 주임위원으로 임명되었다. 그 뒤 나태섭(羅泰燮)·고시복(高時福)·유해준(兪海濬)·지달수(池達洙)·이욕해(李慾海) 등을 이끌고 쑤이위안성[綏遠省]의 바오터우[包頭]를 근거지로 전방 공작 활동을 전개하였다.
또한 한국 교포가 많은 허베이[河北] 지방의 장자커우[張家口] 등에 침투해 청년들을 포섭하고 비밀 지하조직망을 구축하였다. 1942년 9월 부대 개편으로 시안에 복귀하였고, 10월 총사령부의 충칭 이전에 따라 함께 옮겨갔다.
1963년 건국훈장 독립장이 추서되었다.