Giit의 개정판을 Unity에 표시하고 싶어요!

10139 단어 GitUnity 확장Unity
전제
이 글은 hcscode Advent Calendar 2021의 11일째 글이다.
이 글에서는 기트가 관리하는 유닛 프로젝트에 현재의 개정판을 어떻게 표시하는지 등에 대해 설명하고 싶다.
※ 지트에 대한 설명회는 생략되며, 잘 모르는 사람은 별도로 조사해 주십시오.
1. 이 기사를 읽을 수 있다
Unity 내에서 현재 버전을 확인할 수 있습니다!

이렇게 표시할 수 있다.
2. 방법
1. 환경 구축

  • 우선 기트에 가입하세요.(Giit 명령 사용)

  • 여기서 최신 버전을 다운로드하세요. .
  • 다운로드한exe를 실행하여 설치합니다.경로가 저장되면 를 사용합니다.
  • 다음 설정은 "Use Windows"default concewindow"를 선택합니다.


  • PATH를 통해
  • [path]를 검색하고 [시스템 환경 변수의 편집]을 열고 이미지를 작성하려면 다음과 같이 하십시오.




  • 방금 설치한 Giit 폴더에 있는 bin 폴더를 선택하십시오.

  • 프로젝트, 제작 창고 등을 만들어 주세요.
  • 2. 스크립트 제작
    1. 스크립트 생성
    using System.Diagnostics;
    
    /// <summary>
    /// Git情報を取得するクラス
    /// </summary>
    public class GitInfoGetter
    {
        /// <summary>
        /// プロセス
        /// </summary>
        private Process _process;
    
        /// <summary>
        /// コンストラクタ
        /// </summary>
        public GitInfoGetter()
        {
            _process = new Process();
    
            //起動するアプリケーションを指定する
            _process.StartInfo.FileName = System.Environment.GetEnvironmentVariable("ComSpec");
    
            //シェルを使用するか
            _process.StartInfo.UseShellExecute = false;
    
            //出力をStandardOutPutに書き込むか
            _process.StartInfo.RedirectStandardOutput = true;
        }
    
        /// <summary>
        /// デストラクタ
        /// </summary>
        ~GitInfoGetter()
        {
            _process = null;
        }
    
        /// <summary>
        /// リビジョンを取得
        /// </summary>
        /// <returns>リビジョン</returns>
        public int GetRevision()
        {
            //実行するコマンドを設定
            _process.StartInfo.Arguments = "/k git log --date=iso --pretty=format:\"% h\" | find /c \" \"";
    
            //実行
            _process.Start();
    
            //結果を取得
            string result = _process.StandardOutput.ReadLine();
    
            //終了
            _process.Close();
    
            //文字列を数値に変換
            if (!int.TryParse(result, out int revision))
            {
                UnityEngine.Debug.LogErrorFormat("Error : GetRevision, result ={0}", result);
                revision = -1;
            }
    
            return revision;
        }
    
        /// <summary>
        /// 現在のコミットIDを取得
        /// </summary>
        /// <returns>コミットID</returns>
        public string GetCurrentCommitID()
        {
            //実行するコマンドを設定
            _process.StartInfo.Arguments = "/k git rev-parse --short HEAD";
    
            //実行
            _process.Start();
    
            //結果を取得
            string result = _process.StandardOutput.ReadLine();
    
            //終了
            _process.Close();
    
            return result;
        }
    }
    
    이후 필요에 따라 처리를 불러 결과를 받아 주십시오.
    2. 설명
    //起動するアプリケーションを指定する
    _process.StartInfo.FileName = System.Environment.GetEnvironmentVariable("ComSpec");
    
    여기에는 시작 명령 프롬프트가 설정되어 있습니다.
    //実行するコマンドを設定
    _process.StartInfo.Arguments = "/k git log --date=iso --pretty=format:\"% h\" | find /c \" \"";
    
    명령은 "git log --date=iso --pretty=format:\"% h\""에서 다음과 같이 출력됩니다.
     7e70e6a      ///最新のコミットID(短縮版)※このコメントは出力には含まれません。
     87ad678
     e4883fd
     33fa433
     6868ba7
     5bcfb3b     ///最初のコミットID(短縮版)※
    
    그런 다음 "| find /c \" \"""에서 출력의 행 수를 입력합니다.(정확히 말하면 공백을 포함하는 줄 수)
    이렇게 해서 현재의 개정판 수를 얻었다.
    //実行するコマンドを設定
    _process.StartInfo.Arguments = "/k git rev-parse --short HEAD";
    
    이 명령은 최신 제출 ID (단축판) 를 출력합니다.
    위에서 말한 "7e70e6a"은 출력됩니다.
    3. 마지막
    어때?
    지령을 집행함으로써 다양한 일을 할 수 있으니 꼭 시도해 보세요.

    좋은 웹페이지 즐겨찾기