Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up
20190430追記 わかりにくい表現を修正しました。 内容の変更はしていません。 追記ここまで ちょこちょこ使う機会はあったのですが、いまいち使いこなせていなかったrevertについて改めて調べました。 revert とは 既存のコミットを取り消すためのコマンドです。 「取り消したいコミットを打ち消すようなコミットを新しく作成する」という処理によって、既存のコミットを取り消します。 新しくコミットを追加しているだけなので、既存コミットの履歴が消えるわけではありません(コミットログをみると残っています)。 どんな変更があったのかということが(revertしたということも含めて)残るので、リモートにpushされて公開されているコミットに対しても安全に使うことができます。 「既存のコミットを元に戻す」という点について、同じような機能を持つコマンドにresetが存在します。 resetコマンドは
Unreal Engine 5 Git Source Control Plugin UE4GitPlugin is a simple Git Source Control Plugin for Unreal Engine 4.27. Developed and contributed by Sébastien Rombauts 2014-2022 (sebastien.rombauts@gmail.com) First version of the plugin has been integrated by default in UE4.7 in “beta version”. This is a developement fork named “Git LFS 2” adding File Locks supported by Github. Better Fork maintained
先輩とUnrealEngine4で何か作るためにバージョン管理できるようにしたい。 UnrealEngine4ではSVNとPerforceが対応しているとのことだが、プラグインによってGitも使えるとのことなのでGitを使う。 状況 UE歴:4分 Git歴:10分 想定 Windows7以上 Git未導入 UE4Gitプラグイン未導入 中央リポジトリは自鯖(CentOS)に作る Git本体の導入 Git http://git-scm.com/ インストール中に何か聞かれたけど、全部デフォルトにした。 エクスプローラの右クリックメニューにGitを統合したくない場合は、「Windows Explorer integration」のチェックを外した方がいいかも。 Gitクライアントの導入(SourceTree) Git本体にGUIクライアントや黒画面でコマンドいれるGitBashがついてくるけど
対応バージョン この記事の内容は、少なくともGitのバージョン2.19.1までは対応している。 もし最新のGitで新しい動きがあれば随時更新する。 基本 .gitignoreを使うと無視する(Gitのトラッキングの対象外とする)ファイル or ディレクトリを指定できる。 .gitignoreは複数のディレクトリに置くことができる。 深い階層の.gitignoreに書かれた指定の方が優先順位が高い。(後に解釈される) .gitignore内の記述は上の行から順に以下のように解釈される。 /を含まない行(fileなど) .gitignore以下の全サブディレクトリ下にあるこの名前のファイル or ディレクトリを無視する 末尾以外にのみ/を含む行(/file, /path/to/file, path/to/fileなど) .gitignoreが置いてあるディレクトリをカレントディレクトリとする相
最近ブランチを使ったGit利用にチャレンジしているruedapですスラマッパギ。さて、ブランチをマージするときにコンフリクトして涙目になるんだけど、普通のソースコード(テキストファイル)なら、なんか>>>>>>>>みたいな記号で印を付けてくれるから、その周辺を直せばOKというのは理解した。これも結構ビクビクしながらの修正ではあるんだけども、今日はバイナリファイルがコンフリクトしてどうすればいいのか困ったのでその備忘録。 例えばこんなマージをする状況の想定。masterブランチとdevelopブランチがあったとして、それぞれのブランチにhoge.swfというバイナリファイルがあったとする。 masterブランチにdevelopブランチをマージしてみたら、hoge.swfがコンフリクトを起こしたとする。 $ git merge develop warning: Cannot merge bin
Git LFS の機能が実際にどういう感じで動作しているかを、基本的な Git の手順に沿って少しだけ詳しく調べてみました。 なお、ロック機能については検証していません orz (今後に期待) TL;DR ワークツリーの情報をリポジトリ(.git/)に格納するタイミング(clean filter)で対象のファイルがメタ情報(ポインタ)に置き換えられ、ファイルの実体(オブジェクト)は .git/lfs/ 以下に格納される push の直前に LFS API を通してオブジェクトがサーバーにアップロードされる リポジトリ(.git/)からワークツリーに展開するタイミング(smudge filter)でメタ情報から実体ファイルに置き換えられる LFS オブジェクトが .git/lfs/ 以下にない場合は LFS API を通してサーバーからダウンロードされる コミット時、マージ時、チェックアウト
ファイルが重くてpushできない問題 画像処理とかを間違ってコミットしてしまって、不覚にもファイルが肥大化してしまい、pushしたら以下のようなエラーが出ました。。 error:RPC failed;curl 56 LibreSSL SSL_read:ERROR_SYSTCALL,errno 60 fatal: The remote end hung up unexpectedly fatal: The remote end hung up unexpectedly Everything up-to-dage 「リモートが予期せずハングアップしました」と出たので、とりあえずこのエラーメッセージでググる。すると良さげな記事がいっぱい。 Qiita : Git push エラーの対処
コアテックの社員ブログ (毎週月曜~金曜更新中) どうも!エンジニア歴2年目に突入したわいです。 連投になって申し訳ないんですけど、先日ハマった沼から抜け出すために苦悩したことを備忘録として書き留めます。 ウダウダ書いていますが、結果だけ知りたい方はまとめまで読み飛ばしてください。 何が起きたか 開発環境を CodeCommit から git clone したときに、下記のエラーに阻まれた。(いろいろあって開発環境を消してしまった…) FATAL ERROR: Remote side unexpectedly closed network connection fatal: the remote end hung up unexpectedly fatal: early EOF fatal: index-pack failed 1行目のエラーメッセージはなぜかコロコロ変わったりした。 開
gitでコードをpushしたときに遭遇したこのエラー。 それまでは普通にpushできていたのになぜ? 心当たりといえば,今回pushするものにはいくつかのアイコンデータが含まれていること。 アイコンのような画像データはソースコードと比べるとファイルサイズが大きいから,一度に転送する量が多すぎたのかな? と思い,調べてみるとどうやらgitには一度にpushできる最大データ転送量というものがあり,それは設定ファイルで変えられるものなのだそうだ。 最大データ転送量の変え方はこうだ。 まず,gitが実行できるコンソールを開く。 そして次のコマンドを実行する。 git config http.postBuffer <最大転送量(バイト)> 例えば,最大転送量を10MBに設定したい場合は次のコマンドを実行する。 git config http.postBuffer 10485760
git addやgit pullするときに、 「fatal: Unable to create '/xxx/.git/index.lock': File exists.」というエラーが出ることがあります。 index.lockというファイルを作成することができません、というエラー内容で、lsでエラーに記載のファイルパスの存在を確認すると既にindex.lockファイルが作成されていることがわかります。 .git/index.lockファイルとは何者なのか同じリポジトリ内で同時に複数の操作が行われないようにするために作られる排他制御用のロックファイルです。 実際にリポジトリでcommitしようとすると、.git/index.lockファイルが作られることがわかります。 $ ls .git/index.lock ls: .git/index.lock: No such file or dire
「とあるブランチで作業中だけど、いますぐやりたいことができた。作業がすごく中途半端だからコミットはしたくない。」 というときに、stashが使えます。 stashを使用すると、コミットしていない変更を退避することができます。 stashで現在の変更を退避して、今すぐやりたい作業をして、退避させていた変更を戻して作業を再開することができます。 変更を退避する コミットしていない変更がある状態で上記のコマンドを実行すると、変更した部分が退避されます。 ワーキングディレクトリ上は差分がない状態になります。 「コミットしていない変更」とは、addしたものもaddしていないものもどちらも含まれます。 -u は --include-untracked の略です。新規作成ファイル(追跡対象に含まれていないファイル)も退避することができます。 退避した作業の一覧を見る 以下のコマンドで退避した作業の一覧を
※この記事は 今年イチ!お勧めしたいテクニック by ゆめみ feat.やめ太郎 Advent Calendar 2019年12月10日(10日目)の記事です。 初めましての方は、はじめまして ご存知の方は、そうだよ。ヒズミさんだよ。 縁とノリと勢いで、10日目を担当します。 僕は、俗物なので、ハマーンミュラーの椅子はきっと無理です(typoじゃないです) epic1:悲劇は突然に 自分が何やったかわかっとんのか・・・( 'ω')👉 わ゙がっ゙どん゙の゙があ゙あ゙あ゙!? ( ‘ᾥ’ )👉👉👉 上キー押せよ・・・( 'ω')👉 う゛え゛キ゛ー゛お゛せ゛よ゛お゛お゛お゛お゛お゛お゛お゛お゛お゛お゛お゛!? ( ‘ᾥ’ )👉👉👉👉 _人人人人人人人人人人人人_ > $ git push -f origin master <  ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^
用語集 non-bare repository: 皆様のお手元にある普通のリポジトリがそれです。 bare repository: 普通はgitサーバーにある。手元でも取り扱い可能。ただしworking directoryがないので、work treeを必要とする様々な操作ができない。 bare repositoryは hoge.git/ のように .git という拡張子のついたディレクトリであらわすのが慣例であるため、それに従う。 cloneでbareからnon-bare, non-bareからbareを作成する cloneするときにbareにするかnon-bareにするか指定できる。 # bareにする git clone --bare /path/to/my-nonbare-repository /path/to/my-bare-repository.git # non-bareにす
Git for Windows の設定ファイルの場所について調べました。 (下記の「system レベルの設定ファイル」の場所に関して、 web 上の情報が古いようだったので、このエントリを書きました。) 動作確認したバージョン・環境は以下です。 Git for Windows v2.9.0 Windows 10 Git の設定ファイルについて Git の設定ファイルには、 system レベル (当該マシンの全ユーザに関する設定) global レベル (当該ユーザに関する設定) local レベル (特定のディレクトリ (リポジトリ) に関する設定) の3種類があります1。 各設定ファイルの場所 system レベルの設定ファイル 設定ファイルは次の場所にあります。 {gitインストール先}\mingw64\etc\gitconfig %PROGRAMDATA%\Git\config
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く