X



Git 17

レス数が1000を超えています。これ以上書き込みはできません。
2020/09/02(水) 12:18:30.39ID:XN0SxNMq
ソースコード管理を行う分散型バージョン管理システム、Gitについて語ろう。

Git - Fast Version Control System
http://git-scm.com/

◆関連サイト
Pro Git - Table of Contents
http://git-scm.com/book/ja
Git入門
http://www8.atwiki.jp/git_jp/

◆前スレ
Git 15
http://mevius.2ch.net/test/read.cgi/tech/1486239735/
Git 16©2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1502726047/
-
VIPQ2_EXTDAT: checked:vvvvvv:1000:512:----: EXT was configured
2デフォルトの名無しさん
垢版 |
2020/09/02(水) 15:09:20.95ID:PicHUi2j
O2
2020/09/02(水) 18:54:18.21ID:q1M0IzqK
OZ
2020/09/04(金) 10:46:20.73ID:b8MHX2E0
git revert ハッシュ
で打ち消しコミットが作られるけど
コミットではなく編集までにとどめるにはどうしたらいいの?
いったんコミットまでやっちゃってresetするしかない?
2020/09/04(金) 11:48:28.31ID:PFscGLUJ
git revert -n
2020/09/06(日) 16:41:02.82ID:hhCQ57iw
5/8にzoom の sun lin という人が簡単なパッチを投げる。
=> レビュアーに指摘を受ける
=> 何度もパッチを投げる
=> 何度もレビュアーに指摘を受ける
7/12に17回目のパッチを投げる。
17回目のパッチもHamano氏に指摘を受ける
=> その後sun linさんはパッチを投稿せず

9/3 HAMANO氏がどうなってんの?メールを投げる。
cooking in git.git には  Expecting a reroll. と書かれる。

https://public-inbox.org/git/pull.781.v16.git.git.1594544903477.gitgitgadget@gmail.com/T/#t

MLを見ていると簡単に採用されるパッチもあるし、何度もやり直しさせられて
20回以上作り直してやっと採用されるパッチもあるし、いろいろ大変ですな。
2020/09/06(日) 17:49:42.77ID:rO2fthBs
仕事は別として個人プロジェクトのやつは
パッチはそれなりにOKだったらマージすることにしてる

自分でやったほうが早いし、継続的に参加するわけでもない
簡単なパッチ提供者にプロジェクトの方針とか伝えるのは
面倒だしお互いに苦労するだけで実りがない
2020/09/12(土) 11:52:10.62ID:nNCBAW3g
>>6
Hamano氏が「圧」したら、sun lin 氏からパッチの返信が来た。
cooking in git.git は Will merge to 'next'. に変更されて
次の次( 2.30? )でマージされそう。
2020/09/15(火) 23:57:55.06ID:KM/f9j4m
Java 15が出たけどその少し前に開発のリポジトリがMercurialからGitに移行してた
https://mail.openjdk.java.net/pipermail/jdk-dev/2020-September/004694.html
https://github.com/openjdk/jdk
2020/09/18(金) 11:51:44.27ID:2dY2/FG1
チェリーピックをした際に、コミットログに 元ネタのコミットハッシュを書きたいんだけど
どうやって書けばよいですか?
2020/09/18(金) 12:02:20.16ID:R3OAeliQ
コメントに書けばいいんじゃね?
2020/09/18(金) 12:09:32.19ID:6ayRehP4
-n でコミットしないで置いとかれるから、手動でコミットする。
後からamendなりrebase -iする方がやりやすいかもしれない。
2020/09/18(金) 15:49:50.54ID:aUp7Wv4J
業務で使うコマンドをすべて教えてください
2020/09/18(金) 16:41:52.54ID:RdxSqYLS
porcelain全部です

わたしがよく使うのはinit、clone、add、add -u、status -sb、commit -q --no-verbose、commit --amend、commit --fixup、checkout、checkout -b、diff、diff --cached、merge --no-ff、merge --squash、reset、reset --cached、rm --cached、tag、tag -d、push、push -u、push --tags、push --delete、pull、branch -d、branch -D、rebase --onto、rebase -i --autosquash、cherry-pick、clean -dxn、clean -dxf、あとはgitk --allです。

gitrevisionsの知識は必須です。
2020/09/18(金) 17:24:01.05ID:aUp7Wv4J
>>14
ありがとうございます
それ全部覚えて兄貴の隣の席で仕事ができるようになりたいです
2020/09/18(金) 17:29:51.11ID:pL5OD7xJ
アーッ
2020/09/18(金) 17:36:12.07ID:MFVq5ubL
全部亀さんにまかしてるからコマンドわからん
2020/09/18(金) 17:57:28.42ID:EEUgY/GV
>>17
じゃあ黙ってて
19デフォルトの名無しさん
垢版 |
2020/10/02(金) 18:04:15.70ID:tsHxEmjC
https://github.com/yuto-te/msword-test
ms wordのファイルが管理できると聞いて試したけど

git clone https://github.com/yuto-te/msword-test
cd msword-test
git wdiff test.docx

git: 'wdiff' はgitコマンドではありません。 'git --help'を参照してください

で動かない
となって
2020/10/02(金) 19:14:43.54ID:AtQnXyyi
そのレポジトリのaliasにwdiffの設定書いてあるみたいだけど。
2020/10/02(金) 19:15:01.95ID:AtQnXyyi
そのレポジトリのREADMEに。
2020/10/03(土) 09:07:07.46ID:UxGtK8U5
cloneやpushなどでリモートホストとファイルやり取りする際にファイルの同一性はどのように担保しているのでしょうか?
例えばブラウザでファイルダウンロードしたときにたまにファイルが壊れていることがあったりしますが
gitでそういったことは起きないのでしょうか?
23デフォルトの名無しさん
垢版 |
2020/10/03(土) 09:30:56.19ID:F7oAx4CC
message digest
2020/10/04(日) 08:12:16.77ID:5wda0t4r
ありがとうございます
ファイル等gitオブジェクトはSHA-1で格納されているらしいということまではわかったのですが
受信時にこれを使ってベリファイしてるんでしょうか
2020/10/04(日) 10:48:37.02ID:3uxVqkZ8
SHAで格納とかいう時点でエラーチェックについて全くわかっていない。
チェクサムかパリティビットから勉強しろ。
2020/10/04(日) 12:42:13.02ID:nJe3tBQ/
横だけど、同一性のためのチェックはSHA-1で、ってことでしょ。
2020/10/04(日) 13:06:56.18ID:q15OM1O2
いまファイルを編集中でコミットしたくないんですけど
別件で修正依頼が来たのでそれの修正をしてそれだけコミットし、編集してた状態に戻すまでのコマンドを1から教えてください
2020/10/04(日) 13:21:30.23ID:eUP8i5sY
git stashしとけば?
2020/10/04(日) 13:26:43.51ID:5wda0t4r
>>25
すみません書き方が悪かったです
SHAハッシュ値をフォルダ名とかファイル名にして格納してるという意味でした
詳しそうなのでgitが同一性の確認をどのように行っているのかご教示いただけませんか
2020/10/04(日) 13:37:46.47ID:So0YsnAr
>27
git stash save
他の作業
git stash apply

でもなコミットを忌避する理由は無い。
gitはコミットを編集できるから作業はとにかくブランチでやってバンバンコミットしてamendとかrebaseとかsquashとかresetする方が良い。
stashだって無名のブランチみたいなものだぞ。
31デフォルトの名無しさん
垢版 |
2020/10/04(日) 13:52:04.81ID:jSKQ3Llr
横からだけど
master で作業中
git stash save
他の作業 (branch B を造ったとして)
git stash apply
ここで master に戻るんじゃなくて B の続きでってどうするの?
2020/10/04(日) 13:59:36.00ID:HtAk7si2
>>29
SHAハッシュ値をフォルダ名とかファイル名にして格納するのだから、格納するときにチェックすればいいだろ
実際にチェックするタイミングは臨機応変だよ
新規ファイルをコミットするときにはそのファイルのハッシュ値でフォルダ名やファイル名決めるのだから自然と一致するし
ファイルを上流からfetchしてきたときはファイルと一緒にハッシュも一緒にダウンロードするだろうからそこでチェックできる
git fsck みたいなコマンドで手動で強制的にチェックすることもできる
2020/10/04(日) 14:07:50.26ID:HtAk7si2
>>31
stashのapplyやpopは、saveしたブランチでなくてもできるよ
必要ならマージしてくれるし、当然コンフリクトもする
2020/10/04(日) 14:15:56.74ID:q15OM1O2
stashですねありがとうございます
2020/10/04(日) 14:29:25.50ID:nJe3tBQ/
>>29
どのプロトコル使っても整合性チェックすると思う。もしかしたらGit Internalに書いてあるかもしれないけど、どうしてそれを思ったの?webブラウザ使ってるときにデータが欠けてるか気になる?
2020/10/04(日) 15:28:09.43ID:5wda0t4r
>>32
ありがとうございます参考になりました

>>35
本来の用途と違いますが簡易的なファイルバックアップ目的で使えるかなと思いまして
これだけ使われていてデータ化け等のトラブルを聞いたことがないので
何らかの同一性をチェックする仕組みがあることは予想できましたが具体的に仕組みを知っておきたかったのです
2020/10/04(日) 15:36:37.25ID:5wda0t4r
あとは自分でソースコード読んで調べます
お世話になりました
2020/10/04(日) 19:47:03.49ID:So0YsnAr
いやだからSHA-1が何か知っていれば十分。
gitのソースなんか常識的なことしかやってない。
2020/10/04(日) 22:04:42.04ID:WqOXUMr5
そもそも差分で保持していることすら理解できてなさそう
2020/10/04(日) 22:31:26.82ID:FgyAeY9b
くすくすwww
差分で保持してないのにwww
2020/10/04(日) 22:32:10.07ID:8xouqNX0
差分で保持?Subversionあたりと勘違いしてそう
2020/10/05(月) 11:01:00.98ID:R+LPJQHy
バイナリ弄くって中身を直接改竄したらどこで気付けるの?
githubにプッシュする段階で弾かれる?
2020/10/05(月) 15:29:49.38ID:kPCKvS0E
簡単に試してみると
status チェックしない
checkout チェックしない
diff チェックしない
clone チェックしない!
pull チェックする
fsck 当然チェックする
2020/10/05(月) 21:05:37.85ID:OHtuwbKT
すまん、SVNと勘違いしてた
スナップショットだったな
2020/10/05(月) 21:41:45.15ID:LYJbfvxo
ウソつけ。知らんかったんだろ。無知
2020/10/06(火) 04:17:10.72ID:puwXjnsl
無知の血
2020/10/06(火) 07:28:16.44ID:PK5YmJhg
>>43
チェックしたかどうやって調べたんですか?
2020/10/06(火) 08:57:57.90ID:BpxuehLI
>>47
status
エラーが出ない。改竄されて無いかのような結果を返す
checkout
エラーが出ない。改竄されたファイルをcheckoutできる
diff
エラーが出ない。改竄されたファイルとの差分が表示される
clone
エラーが出ない。改竄された状態のままクローンされる
2020/10/06(火) 10:05:38.72ID:d7vEF+ck
Git v2.29.0-rc0
2020/10/06(火) 22:52:44.68ID:PK5YmJhg
>>48
cloneでチェックしないのは驚き。
pullするまでわからないの?
pullとfsckはどんなエラーが出るんです?
pushはさすがにチェックするよな?リモートレポジトリ壊れちゃうぞ

ちなみにblobを改ざんしたんだよね?
treeやcommitと整合取れなくてエラーが出るってことなのかね?エラーはどこで検知されるんだろう。
2020/10/06(火) 23:05:14.47ID:X5ZmpUrM
>>50
blobのオブジェクトの中身を改竄
ファイル名のハッシュ値と中身が一致しない旨のエラーが出る
clone も pull も同じファイルシステム上で試して、pullだけエラーになった
ネットからのcloneならもしかしてエラーが出るかもね
2020/10/08(木) 12:02:31.68ID:j+llKJ1y
gitのコマンドで、ファイル毎のコミットハッシュを一括で取得するようなコマンドはありますか?
53デフォルトの名無しさん
垢版 |
2020/10/08(木) 12:30:19.52ID:6clXcWBV
git status
git log
2020/10/08(木) 14:21:22.99ID:OZqBP6fN
git rev-list ブランチ名 -- ファイル名
2020/10/10(土) 02:00:17.61ID:8jOg16nE
Git v2.29.0-rc1
2020/10/10(土) 12:26:46.20ID:8jOg16nE
Git v2.26でプロトコルバージョン2がデフォルト

Git v2.27でプロトコルバージョン2が非デフォルトに

Git v2.29でプロトコルバージョン2が再度デフォルトになる予定
2020/10/11(日) 14:13:58.25ID:x9hId16M
プロトコルバージョンが2になるとなにがよくなるんでしょうか?
2020/10/11(日) 17:40:18.92ID:da5/ZQBA
おそらくGitHub特有の相談になるんだけどここでいいかな?

全体としては公開リポジトリなんだけど
ある理由(ライセンス制限、期日まで非公開にしておきたいデータ等)により
特定のファイル(secret.txt)もしくはディレクトリ(SecretFiles/)のみ非公開にしたい。

・【必須】バージョン管理はしたい

・全体と非公開ファイルは一体であり、非公開ファイル単体では意味をなさない
・開発中は公開/非公開を意識したくない

こういうとき、どういう方法を取ることが多いでしょうか
2020/10/11(日) 17:53:58.19ID:S22AJs2K
>>58
非公開のファイルは別リポジトリに分離してgit submoduleで参照するのはどうだろう
2020/10/11(日) 21:09:04.26ID:da5/ZQBA
ありがとう
ただ、(必須条件ではないとはいえ)この2つが気になってる

> ・全体と非公開ファイルは一体であり、非公開ファイル単体では意味をなさない
> ・開発中は公開/非公開を意識したくない
61デフォルトの名無しさん
垢版 |
2020/10/12(月) 09:46:45.59ID:941JO02h
submodule に ++
2020/10/12(月) 11:49:56.98ID:ApaV09Eo
英語のフォーラムとかも漁ってみたけど
「submodule、ただしお前さんの開発のフローに合致するかどうかは知らん」
って感じみたいね

下手すると1ファイルだけのリポジトリとか
作る羽目になりそうだけど仕方ないか…

リポジトリ本体とサブモジュールでコミットの足並みをそろえたり
本体のコミット履歴にサブモジュールのそれを流し込んだり出来るものなのかしら?
2020/10/12(月) 12:54:08.38ID:y+TJqPrh
全部非公開にすればいいだけじゃん
2020/10/12(月) 16:03:23.63ID:GBBJSb2v
そもそも足並み揃えなきゃいけない理由がわからない
2つのリポジトリから取ってくるじゃダメなのか
65デフォルトの名無しさん
垢版 |
2020/10/12(月) 16:48:06.10ID:941JO02h
足並み揃ってることが大事なら
sub の方にバージョン番号も入れておいて
main の方は sub のバージョンが正しいかどうか確認して動作する構成にしたら医院で内科医
2020/10/13(火) 15:53:28.21ID:zm2TVnZX
>>64
ライブラリなり単独プロダクトなり論理的に分割できるものではなく
本来であれば他ファイルと一緒に管理するべきものって前提ね

具体的な方法はともかく
本リポジトリのコミットAのタイミングで、サブ内のファイルBが更新された
というのが追えるのが望ましいかなと

>>65
あー、なるほど
バージョン番号というよりはコミットハッシュのほうが良いかもしらん
やったことないけど多分自動化出来るだろうし
2020/10/15(木) 17:38:16.60ID:RP+ZsziE
Yahooとかamazonみたいな巨大なサイトって1つのリポジトリでWebサイトのソースコードを管理しているのでしょうか?
68デフォルトの名無しさん
垢版 |
2020/10/16(金) 09:51:57.07ID:jRO02CLT
GAFA: Google Apple Facebook Amazon

Yahoo Microsoft Twitter Mercari LINE
2020/10/16(金) 09:56:14.58ID:/oPP6urL
googleはgitじゃないけど1つのリポジトリで全てを管理してるんだよな
2020/10/16(金) 10:40:11.28ID:sTwFaRRk
googleの巨大リポジトリはgitを改造して作ってるんだろ。
っていうか、そのためにHamano氏が雇われてると予想してるんたが。
2020/10/20(火) 09:00:10.89ID:0w6H4pKm
Git v2.29.0
2020/10/22(木) 18:03:28.49ID:h6SgBXMb
lan内、複数人、全部windowsマシンの環境で、vssからgitにしようとしてまっす
結局、gitサーバーって必要なの不要なの
bareレポジトリを共有フォルダにすればいいだけでっすか
2020/10/22(木) 18:09:00.63ID:0JejC+sC
認証とLFS使わないならそれでOK
74デフォルトの名無しさん
垢版 |
2020/10/22(木) 18:34:07.73ID:vPWH9GQz
local で運用したいなら
git と ssh のみで ok
2020/10/22(木) 18:47:15.24ID:1w9ntcAE
共有しないならローカルだけでgitを使うのもいいよ。

文書作成とかローカルgit重宝するんだけど、あんまり流行らないよね。
2020/10/22(木) 22:44:35.80ID:u1CdkM8r
コードレビューしないなら別にホスティングいらないんじゃね
2020/10/22(木) 23:45:51.43ID:qmwOK+gO
文書ならSubversionの方が使いやすい
Gitはサブディレクトリをチェックアウトできないのが致命的
2020/10/22(木) 23:58:01.66ID:u1CdkM8r
>>77
何を言ってるんだ?
2020/10/23(金) 00:09:06.10ID:cH47mZYH
自然文書じゃマージしようないし、Gitの設計は根本的に当てはまらなくなるな
2020/10/23(金) 00:14:27.37ID:iZiZ6/Ki
>>77
これは恥ずかしい
2020/10/23(金) 00:30:18.55ID:/vE5pATu
どっちみちマージできないんだからロックした方がマシだわな
2020/10/23(金) 00:32:51.98ID:T9P26xlF
GitはWordExcelファイル管理してるとすぐにリポジトリ肥大化する問題もある
2020/10/23(金) 00:35:30.46ID:NHDIr2v+
LFS使えよ
2020/10/23(金) 00:44:21.72ID:T9P26xlF
ファイルサーバ的な使い方だと、フォルダ単位のアクセス制御とかファイルロックとかでSubversionが使いやすい
Gitみたいなスナップショットで管理する設計は大規模な非ソースコード管理には向かない
2020/10/23(金) 01:07:17.43ID:icJas7yX
>>79
章の追加とかマージできる
2020/10/23(金) 01:17:30.12ID:26o6b8cs
自然言語はプログラミング言語と違って構造化されてないからね
2020/10/23(金) 01:18:27.98ID:icJas7yX
自然言語は構造化されてないが
ドキュメントは構造化されてる
2020/10/23(金) 02:08:07.70ID:KW01KC0T
文章も markdown みたいなテキストベースで書いて git で管理すると極楽だよ
2020/10/23(金) 04:36:31.18ID:pqqT/mRf
日本語だとか英語使う以上どうにもならん
それよりも、markdownって糞面倒くさい
リストの先頭にスペース4個だ8個だ、1. 1. 1.でナンバリングとかいかれてる
リンク貼るのは面倒だし、テーブル書くのは悪夢だし、slackがmarkdown止めたのも納得
wiki記法でもasciidocとかマシな選択肢他にある
2020/10/23(金) 07:12:39.30ID:cSjOS+ch
フォーマットの良し悪しはどうでも良いよ
問題は普及してるかどうか
客先とかにメールで躊躇なく送れるフォーマットでないと使わない

gitで管理するためにテキストベースならありがたいが、優先度は低い
2020/10/23(金) 08:15:21.01ID:zGLjdRtI
>>90
pandoc で word に変換して送る
2020/10/23(金) 08:39:21.85ID:L0D/oeHA
>>91
それって、wordフォーマットで貰って加筆して送り返す場合も、元の書式が完全に再現されるの?
2020/10/23(金) 10:44:04.26ID:zGLjdRtI
pandoc での変換は word への一方通行だよ
2020/10/23(金) 14:14:34.98ID:EcqZ5lbk
「Git for Windows 2.29.0」が公開 〜セットアップ時にデフォルトブランチ名を設定可能
https://forest.watch.impress.co.jp/docs/news/1284871.html

「Git for Windows」ではこれに加え、“git init”コマンドで利用されるデフォルトのブランチ名をインストーラーで設定できるようになった。
「Git」の開発チームはデフォルトのブランチ名を従来の“master”から“main”に変更する意向で、「Git for Windows」もそれに追随する構えだ
2020/10/23(金) 14:37:03.75ID:icJas7yX
ぶっちゃけ日本人としてはmaster(ご主人様!)でもmainでも
どっちでもいいんだが、gitが変えるならmainでいいとして
masterとmainを同一視する機能作らないの?
エイリアスブランチとかいう名前にしてさ、どちらからでも同じようにpullできる
96デフォルトの名無しさん
垢版 |
2020/10/23(金) 17:08:42.32ID:2f10zgGH
sub : 私を差別するなニダ
2020/10/23(金) 22:17:05.16ID:doeYD091
>>95
エイリアスを作る意味がわからん
2020/10/23(金) 22:22:38.51ID:wyWaj77E
>>97
互換性が保たれる
各自好きなときに変更を入れられる
誰にも影響がない
2020/10/23(金) 22:27:37.90ID:doeYD091
え?何と何の互換性の話してんの?
2020/10/23(金) 22:35:42.31ID:wyWaj77E
ブランチなんだからブランチ操作のときの互換性に決まってんだろ
アホかw
2020/10/23(金) 23:36:08.41ID:djACLj6C
さっぱり目的がわからん
2020/10/23(金) 23:38:51.83ID:lrh9I9yc
mainにする必要を感じないユーザーは今後もmainを使い続ければいい
互換性の上で何も困らない
上司が新しいブランチをmainで作りやがったけどオレはmasterが慣れてるんだ!オレの快適のために便利機能を開発しないGitはクソ!とか言い出したら立派なクレーマー
2020/10/23(金) 23:40:11.79ID:lrh9I9yc
書き間違えた
×今後もmainを使い続ければいい
◯今後もmasterを使い続ければいい
2020/10/24(土) 01:13:36.48ID:FYql/e9F
gitは分散システムだって理解してるかな
2020/10/24(土) 05:51:47.10ID:AgT7KjTR
>>102-103
な?そういうときにmainとmasterがエイリアスの関係になってれば
問題は全く起きないやろ
2020/10/24(土) 07:10:13.82ID:xAXF6dpK
Git v2.29.1
2020/10/24(土) 08:23:49.45ID:sA8KI1Y+
>>105
誤字は訂正すりゃ済む話だろ
誤字の責任をGitに転嫁し始めたらお前と同じだが

自分が欲しいと思い付いたものは皆欲しいに違いないし
それを提供する大人は疑い無く奉仕すべきってのは子供の発想
2020/10/24(土) 09:59:23.62ID:+ehIbcux
まあエイリアス機能はもうあるけどな
https://git-scm.com/docs/git-symbolic-ref
2020/10/24(土) 12:14:42.80ID:AgT7KjTR
>>107
誤字の話なんかしてないけど、どっから持ってきた(笑)
2020/10/24(土) 20:00:28.27ID:ka1+W9k3
>>105
誤字の話じゃないとすると、「問題」ってどういう状況のことを言ってるの?
2020/10/24(土) 20:03:07.32ID:Am3cGdvz
> 上司が新しいブランチをmainで作りやがったけどオレはmasterが慣れてるんだ!

ここに決まってるだろ

エイリアスがあれば上司はmainを使えるし
オレはmasterを使える
何も意識せずにだ

問題解決
2020/10/24(土) 20:07:50.61ID:ka1+W9k3
>>111
リモート oritin/main に対してローカル master で作業すれば問題ないのでは?
2020/10/24(土) 20:08:10.41ID:ka1+W9k3
s/oritin/origin/
2020/10/24(土) 20:13:40.11ID:Am3cGdvz
>>112
だからその作業をユーザーにやらせるなってこと
2020/10/24(土) 20:44:46.75ID:ka1+W9k3
>>114
最初の1回だけでしょ?
・・・あー、リモートブランチ名省略して git push origin できるのは名前が同じ時だけか。
なるほどちょっと面倒になるね。

と思ったけど push.default を upstream にしとけば git push origin でいけそう。
https://git-scm.com/docs/git-config.html#Documentation/git-config.txt-pushdefault
2020/10/24(土) 22:19:50.17ID:8e/eI8m7
>>108
まあ確かにリリースブランチとか定期的に切り替えるときには便利だな
masterとmainの互換性はわからんけどw
2020/10/24(土) 22:22:52.42ID:8e/eI8m7
>>115
ブランチ名省略してgit push originなんて怖くてやったことないけど使う人いるのか?
2020/10/24(土) 22:24:20.50ID:DBFUFktv
>>117
ここにいるよ
119デフォルトの名無しさん
垢版 |
2020/10/25(日) 00:35:44.89ID:yof5oYiB
それはわたしのおいなりさんだ
2020/10/25(日) 09:05:03.86ID:pKb4q+q8
>>117
ここにもいるよ
2020/10/25(日) 11:53:45.18ID:KhHAp4C5
>>117
怖いのは無知だから。勉強すれば怖くないよ
俺はいつもgit pushだな。originも不要
122デフォルトの名無しさん
垢版 |
2020/10/25(日) 12:11:04.99ID:KvAimzX1
>>119
oretin
2020/10/25(日) 19:01:39.34ID:DshRNT9f
>>117
怖いなら-v ---dry-runでもつけてどうなるか確認してみるといいよ
2020/10/25(日) 20:31:14.35ID:hcHuBEQz
君のGit... ギットギトだね。。。
ほら。。。フォースプッシュ。。。
本番ブランチ。。。
125デフォルトの名無しさん
垢版 |
2020/10/26(月) 09:45:49.24ID:EltRWJ/H
$ git push origin master
error: src refspec master does not match any.
error: failed to push some refs to 'https://github.com/hogehoge/hogehoge.git'

糞だな
126デフォルトの名無しさん
垢版 |
2020/10/26(月) 10:11:31.95ID:7lQkoBhV
git branch master
git checkout master
git merge main
git push origin main
git branch -D main
git push --delete origin main
git gc
消したったわ
2020/10/28(水) 13:58:07.50ID:maPeOjVv
久しぶりにgit使ったらbranchがデフォルトでmasterじゃなくてmainという表記になっていたのだが
2020/10/28(水) 14:21:17.90ID:Nt7id6vD
そうだね
2020/10/29(木) 13:42:03.39
ローカルのgitがmasterでリモートのgithubがmainになってるね
クローンからリモートするならすんなりいくけど
その逆だと気づかずにプッシュするとmainへのリクエスト扱いになっちゃう
configでデフォルトのブランチ名変えられないのかな
130デフォルトの名無しさん
垢版 |
2020/10/29(木) 13:56:10.58ID:PxiO9E+R
git remote set-head origin master
131デフォルトの名無しさん
垢版 |
2020/10/29(木) 14:04:48.81ID:PxiO9E+R
https://ngyuki.はてなblog.com/entry/20120827/p1
2020/10/29(木) 19:36:03.79ID:spI7D+16
散々ニュースで言われてるのに今頃になって対応とか遅くない?
2020/10/29(木) 21:20:17.79
>>130-131
設定できるのかー

@githubで新規リポジトリ作成
Aローカルのリポジトリディレクトリに移動して$ git init
B$ git add . $ git commit -m 'ローカルスタート'
C$ git checkout -b main $ git branch -d master
D$ git remote add origin https://github.com/[user name]/[repository name].git
E$ git push -f origin main
ってやってる・・
2020/10/29(木) 21:25:35.79
もうつぎからはリモートスタート(クローンスタート?)だとローカル側もmainブランチで始まるから
空リポジトリをクローンする方法でやる
2020/10/30(金) 02:21:28.42ID:hYhF3+Ov
「gitのメインブランチは昔はmasterだった」
「嘘乙」
「なんでmasterからmainになったんですか?」
「masterは奴隷差別を連想させるからだよ
136デフォルトの名無しさん
垢版 |
2020/10/30(金) 10:46:57.43ID:7MkyV1Cp
ホワイトナイトは差別用語なので禁止してください
2020/10/30(金) 11:28:40.33ID:fOGNKV/n
releaseとかsummaryとか使うところ出てくるかな?
integrationとかは無さそうかね。
2020/10/30(金) 12:11:13.25ID:htSSX+dm
昔から develop ブランチを使ってるとこが多いでしょ
2020/10/30(金) 12:16:58.72ID:qV+CbFPu
王様のブランチ
2020/10/30(金) 14:19:49.76ID:MCHAoW+H
git flowしてたらreleaseブランチは普通にあるでしょ
2020/10/30(金) 14:21:58.61ID:JR1a94e7
それな
2020/10/30(金) 19:04:56.80ID:sXVsY8+M
してなかったら という考えはないのか?
2020/10/30(金) 19:06:03.15ID:JR1a94e7
「使うところが出てくるのかな?」に対して「既に使ってるところはあるやろ」って返しだから何もおかしくない
2020/10/30(金) 19:22:46.09ID:EIXxJgw3
開発当事者でもないのにブランチ名変えろと
ポリコレissue投げまくる事件起こりそう
2020/10/30(金) 19:43:14.51ID:UyuACH5o
tortoisegitでマージコミットを選択すると、親1との差分、親2との差分という形で別れて表示されますが、これを3-way表示にさせる方法はありますでしょうか?
テキスト比較できないファイルを外部ツールでdiffしており、競合の編集時はその外部ツールで3way表示できるように設定しています。
マージコミットからダブルクリック等でその外部ツールの3way表示が開くのが理想なのですが、そのような設定や手法はありませんでしょうか?
146137
垢版 |
2020/10/30(金) 19:52:27.03ID:fOGNKV/n
すまんすまん、デフォルトブランチを変える話な……と思ったけど、開発観点からはgitのデフォルトブランチなんてどうでもいいか。

>>144
mster使わないのは別に構わないけど、開発者なら技術的な利点を主張して欲しいわ。
技術屋が形だけでも同意できる理由も用意せずにねじ込もうとするポリコレバカはくたばって欲しい。
2020/10/30(金) 20:43:26.47ID:FRK/o1cy
わかったわかった、ポリコレに配慮してブランチ名はすべてsha1ハッシュにしよう
2020/10/31(土) 00:05:36.62ID:fZ9rhoe3
>>144
起こってる
149デフォルトの名無しさん
垢版 |
2020/10/31(土) 10:36:44.35ID:fxcwqRC2
秋葉でお帰りなさいませ御主人様が聴けなくなる日も近いか
2020/10/31(土) 12:37:08.41ID:GZ18ZzMi
メイド自体も主従関係の歴史を想起させるのでNG
家事の主体たる職業名を採用しメイドカフェはハウスキーパーカフェになります
衣装はズボンとエプロン
2020/10/31(土) 12:54:07.19ID:ocpJ6AXX
おかえりなさいまで、お代官様で
2020/10/31(土) 14:46:00.48ID:VrvpgzMp
女王様のムチSMプレイが無くなる日も近いな
2020/10/31(土) 20:26:19.50ID:c/zcO3b2
ホットドッグにマスタードかけるのも禁止になりそうだな
2020/10/31(土) 20:44:44.67ID:vjQAEmq+
マスターベーシャンも禁止
2020/11/01(日) 21:34:55.35ID:Qu4WS0HS
Git v2.29.2
2020/11/02(月) 22:17:08.12ID:onwGyibB
ファストフォワードマージと分岐するマージはどっちを利用するべきなんでしょうか?
2020/11/02(月) 22:36:10.14ID:b6W98kSU
ケースバイケースだから二つあるんだよ。
2020/11/04(水) 13:54:17.76
pythonの場合
distディレクトリとegg-infoディレクトリは
git rmしますか?
それとも更新するたびにsetup.pyして最新版の.tar.gzもpushするのでしょうか。
159デフォルトの名無しさん
垢版 |
2020/11/04(水) 14:39:20.50ID:wF8lqQTT
.ignore に描く
2020/11/04(水) 15:42:04.95
ホームディレクトリに.ignore設置して云々とかあるけど
全部コマンドでできればいいのに・・
2020/11/04(水) 15:42:46.75
全部コマンドで、というか
git config で・・
2020/11/04(水) 17:50:40.26ID:Q20JRtoy
そういうのはリポジトリの .gitignore で除外するだろ
言語に対応した .gitignore を自動生成する仕組みとかあるからググれ
163137
垢版 |
2020/11/04(水) 19:03:17.34ID:RhljQsjd
>>160
gitignore自体gitの管理対象なんだから、ファイルのほうがいいだろ。
2020/11/05(木) 22:38:23.35ID:p8NevL67
git config の core.autocrlf について教えてください

リモートのリポジトリにAとBというブランチがあります。
2つのブランチのファイルの改行コードはLFになっています。

下記手順でAとBをチェックアウトし、各ブランチの改行コードを見ると、AもBもCRLFとなっていました。

@git config --global core.autocrlf=true を実行しAのブランチをチェックアウト
Agit config --global core.autocrlf=false を実行しBのブランチをチェックアウト

一度チェックアウトした後にcore.autocrlfの設定を変えても、その後にチェックアウトしたブランチには適用されないのでしょうか?
2020/11/05(木) 23:20:14.93ID:Jc1WkDDO
autocrlfを気にするということはWindowsでの開発だと思います。
autocrlf=trueでコミットしたんじゃないかと思います。

コミット内容はオプションを変えても変わりません。
これはレポジトリはLFにして、作業コピーはCRLFで扱うオプションです。

個人的にはこのオプションは、勝手にファイルを変えるものなので使う場面は限られると思います。
最近はWindowsでもLFが使えるようになってきてるのでLFだけにするか、もしくはWindowsだけで開発するならCRLFでそのままコミットしてよいと思います。
2020/11/05(木) 23:25:35.51ID:Jc1WkDDO
あ、ブランチはLFって書いてありますね。ふむー。AだけがCRLFのはずだが。
LFであることと、チェックアウトしたファイルがCRLFであることはどうやって確認したんですか?
エディタがCRLFに変換してるってオチじゃないですよね?不安ならodとかでダンプしてみるといいです。
2020/11/05(木) 23:45:37.13ID:p8NevL67
>>166
ご回答ありがとうございます。
LFであることの確認はgithubからソースをzipでダウンロードしてソースファイルをEmEditorで確認しました。
CRLFであることの確認はローカルにチェックアウトしたソースファイルを同じくEmEditorで確認しました。
odというもので再度確認してみようと思います。
168デフォルトの名無しさん
垢版 |
2020/11/06(金) 11:00:19.76ID:LTqO0fOq
EmEditorよりも櫻
櫻よりも禿丸
2020/11/06(金) 12:47:54.85ID:a+LGJjdY
同じエディタで確認してるなら改行コードの取り違いはなさそうです
ファイルの内容とか拡張子はなんですか?attributeが悪さをしてるとかだろうか
いずれにしてもautocrlfの理解は合ってると思います
2020/11/06(金) 12:52:42.30ID:a+LGJjdY
ちなみにgit configのヘルプにはname=valueではなくて、スペース区切りの指定に見える。
autocrlfを変えたあとにconfig --getしてみたらどうなります?変わってなかったりして。
2020/11/07(土) 00:10:19.49ID:/xSkaoCp
VSCode を使え!

GitLens などの拡張機能も色々ある
2020/11/07(土) 03:18:28.55ID:l+eJcypb
お、エディタ論争か?
2020/11/07(土) 15:45:39.89ID:cgvbFt64
便乗で質問

LF管理でCRLFへ自動変換はよく見るのですが
逆に
リポジトリ上ではCRLFで管理
ローカルではLFに自動変換も可能

みたいなことって出来ますか?
2020/11/07(土) 17:22:06.42ID:b176xE9N
リポジトリ上ではどう管理されてるかなんて気にする必要がない
2020/11/07(土) 17:28:53.28ID:MFxIcgBo
設定としては存在しない
そしてリポジトリ上でCRLFにするのは非推奨
2020/11/07(土) 19:15:02.73ID:cgvbFt64
設定としては〜、ということはやり方が無きにしも非ずと
まだまだ触り程度しか使っていないので、必要になったらまた勉強します

ありがとうございました
2020/11/07(土) 21:10:07.76ID:26EDxQ47
非推奨ってどこに書いてある?
Windowsだけで使ってるからいつもCRLFで入れてるよ
2020/11/07(土) 22:00:24.80ID:ar+UP0ei
Gitの場合、テキストファイルもバイナリファイルも関係なくハッシュ作って管理してるだけ
2020/11/07(土) 22:13:20.58ID:3cYV0JqL
>>178
ハッシュしか持ってなかったら元データを復元できないのでは
180デフォルトの名無しさん
垢版 |
2020/11/08(日) 00:28:35.60ID:SXTLRNAJ
>>173
自動変換するわけがない。普段、改行コードをあまり意識していないだけでしょ。
181デフォルトの名無しさん
垢版 |
2020/11/08(日) 00:31:51.30ID:SXTLRNAJ
>>179
ハッシュ変換とハッシュ変換したデータを使う仕組みがごっちゃになってるよ。
2020/11/08(日) 03:05:08.77ID:YnyAcD/m
>>173
git hooks で調べろ。何でもできるぞ。
間違えてgithubの記事を見に行かないように。gitの機能だからな。
183デフォルトの名無しさん
垢版 |
2020/11/08(日) 12:17:19.96ID:SXTLRNAJ
>>173
なぜ改行コードを変えたいのかがわからない。
184デフォルトの名無しさん
垢版 |
2020/11/08(日) 14:00:20.31ID:M0llHupc
どうでも良いけど下手な環境で作業すると
保存する度に行間が開いていくよね
2020/11/08(日) 19:44:51.13ID:CpI3QDTu
え?
2020/11/08(日) 23:30:36.29ID:t/VkPMTp
>>180
gitに自動変換機能あるぞ
187デフォルトの名無しさん
垢版 |
2020/11/10(火) 00:41:12.93ID:c+4iqUmg
>>186
自動変換の設定を確認してないという話だろ
2020/11/11(水) 12:44:34.75ID:ylt8PecZ
最初のautocrlfの人戻ってこないな
解決したのか
2020/11/11(水) 15:59:24.66ID:iQgtLl5J
gitattributesの改行と文字コードのデフォルト値ってどっかに一覧ないですか?
改行と文字コードの自動補正はしてほしいけど想定外の補正されると困るんで把握しておきたいです
190デフォルトの名無しさん
垢版 |
2020/11/12(木) 21:58:43.24ID:m5jPdjVX
自動的に変換する設定を使うのが面倒。
2020/11/13(金) 10:03:02.42ID:woSrJ+Z7
gitの初心者です。質問してもよろしいでしょうか?

共有フォルダの[A]フォルダにリポジトリを作り作業するファイル類を入れてあります。

これを2人で共同で使うためそれぞれ[B]と[C]というクローンを作り、そこで編集します。

それぞれ[B]と[C]で更新して、1日の終わりに[A]を最新の状態にしておきたいのですが、

クローンして、更新してCommitして、最後にpushで合っていますでしょうか?
2020/11/13(金) 10:16:27.20ID:9KKZC7Fr
はい
193デフォルトの名無しさん
垢版 |
2020/11/13(金) 11:37:28.52ID:RWm0omqa
内容によるけど
全員 master で作業するんか?
branch して commit push して
確認後 merge する気は無いんか?
2020/11/13(金) 12:24:49.56ID:lJPbeFXM
コンフリクトの解消手順を教えて下さい
2020/11/13(金) 12:44:40.29ID:n34VhWUt
>>194
エディタで修正してaddしてcommitするだけよ
2020/11/13(金) 13:04:52.38
めちゃくちゃ細かい修正のときって-mはどうしていますか
考えるのがめんどうなので'更新'とか'修正'でいいですよね?
2020/11/13(金) 17:43:25.79ID:MS9okgUk
>>196
そこは回答が分かれるところですね。
自分だったら、主にどっちを採用したっていう概要とその理由を書くかな。
細かい差分はdiffで見れるから、後で見ても分からないものは書いておくよ。

他の人にも聞きたいんですが、コンフリクト解消ってどこまでやりますか?ビルド通って動かせるところまで?
evil mergeになるのが気になる。
2020/11/13(金) 18:36:18.45ID:KMQ/X74/
誰かが代わりに動くまで修正してくれるの?
2020/11/13(金) 18:38:13.21ID:5fX1gEph
恐ろしい書き込みを見た
これが13日の金曜日か…
2020/11/13(金) 18:51:25.55ID:MS9okgUk
コミットを分けるか、という意味です。言葉足らずですみません
2020/11/13(金) 18:52:58.07ID:35N+92Bf
コンフリクト解消とスカッシュを自由自在に操りたい
2020/11/13(金) 23:47:36.97ID:M0Lr/ts/
>>193
いつまでmasterなんか使ってんだ?
2020/11/14(土) 01:28:12.18ID:zCGno+9x
お帰りなさいませご主人様〜 とかも駄目になるのかぬ
2020/11/14(土) 02:17:29.33ID:Q0fppD5p
言葉狩りに嫌気さしてきたからブランチの名前をslaveとかblackとかにしたい
205デフォルトの名無しさん
垢版 |
2020/11/14(土) 03:04:53.39ID:66xrGHZh
>>200
ブランチの概念がないの?
2020/11/14(土) 11:48:24.71ID:OfQ57GBv
>>200
まだまだ言葉足らず過ぎないか?
不特定多数の見る5chやでえ
マージをしているなかで互いの処理の競合を調停するための新規コードが必要になったとき二つの選択肢があると思う
1.テストが一部通らないことをコメントで断った上で、新規コードをマージコミットに混ぜるのを避ける
2.競合回避のための新規コードが混ざったことをコメントで断り、マージコミットで全部やる
個人の好みと程度問題じゃないかな
俺は差分を共有しやすいから1が好き
2020/11/14(土) 11:50:15.20ID:vc7ZeNxq
>>205
ブランチをマージするときの話ですよよ。文脈は把握されてますか?ご存知なければ無理にレスしなくて大丈夫ですよ。
2020/11/14(土) 11:53:34.61ID:vc7ZeNxq
>>206
evil mergeを避ける派ですね。
丁寧なレスありがとうございます。
言葉足らずなところを指摘、補足していただいてありがとうございます。
209137
垢版 |
2020/11/14(土) 22:18:57.62ID:eMR5CvED
>>202
変える技術的なメリット無い限りはそのまんまだろ。
技術的なメリットを説明しろよ。
2020/11/15(日) 02:58:48.98ID:bhsguIlX
作業ブランチで機能追加やクリーンナップを地道に進め、
最後にmergeした結果を見ると、コーディングを最初から一気にやり遂げた錯覚になり、
スカっとするな。
という一連の流れを脳内再生してから --squash のオプションを思い出す俺。
2020/11/15(日) 12:14:35.24ID:ofPGnU/6
>>210
お前エセだろw

作業ブランチで作業をしている途中で
あれ?これバグじゃね?
先にリファクタリングするべきだったなと
後から気づくことがある

そういうのを別のコミットに分けて
順番を並び替えつつ作業していくと
いきあたりばったりで作業したのではなく
綿密な計画にそって作業したように見える

それは錯覚ではなく、最終的にそうなったので
それをマージしたりしたときに後から修正を追いやすくなる
--squashしたら一つにまとまるからダメじゃん
2020/11/15(日) 12:25:50.44ID:ALi3WLRE
そんで author date を変え忘れていきあたりばったりがバレる
2020/11/15(日) 12:27:45.04ID:ofPGnU/6
>>212
バレてなんか問題でもあんの?
2020/11/15(日) 13:22:06.47ID:ALi3WLRE
>いきあたりばったりで作業したのではなく
>綿密な計画にそって作業したように見える

他人にバレてるのに自分じゃこう見えると思ってたら恥ずかしいってだけ
2020/11/15(日) 14:10:48.99ID:ofPGnU/6
>>214
どうでもよくね?
重要なのはソースコード、完成した結果だよ
途中の作業なんかどうでもいい
2020/11/15(日) 14:18:31.84ID:ALi3WLRE
ほんと、どうでもいいと思うよ。

>綿密な計画にそって作業したように見える

こんなの気にするのは>>211くらいw
2020/11/15(日) 14:20:02.90ID:ofPGnU/6
>>216
気にしてるのはお前だよ。「ように見える」なんだからどうでもいい部分
実際に重要なのは、意味があるコミットになっていてレビューや他のバージョンへの適用がしやすい点
いつまでもどうでもいい部分を気にしてるなよw
2020/11/15(日) 23:35:01.28ID:pj0VtiWP
gitの開発MLを見てればわかるが、
内部のテストからもmasterという文字列を完全に抹殺すべくパッチが投稿されてる。

個人的には言葉狩りは好きでは無いが、
リベラルに中途半端は無いから、
早めにmasterからmainに変えた方が良いかも。
2020/11/16(月) 03:21:24.45ID:ZICsfNV8
>>218
言葉狩りが始まったらやるよw
220デフォルトの名無しさん
垢版 |
2020/11/16(月) 10:56:32.52ID:sF1WJXNT
一番危険な敵は内部の一番無能な人間
2020/11/16(月) 11:50:11.80ID:pa4DKO5k
外部のキチガイが、内部に入り込んで包丁振り回すかもしれないぞ
222デフォルトの名無しさん
垢版 |
2020/11/16(月) 12:05:15.33ID:sF1WJXNT
書き忘れたけど無能な人ほど良く働くω
2020/11/16(月) 16:09:47.48ID:sYD91QvB
ソース管理規約を守らない奴は無能
2020/11/16(月) 22:48:43.54ID:Iqqc8SBv
無能が無能を叩く構図
2020/11/17(火) 00:01:38.69ID:qU694wOR
WindowsでSourceTreeを使ってみたら、Shift-JISのファイルがプレビューで文字化けしてるんだけど、
Gitで管理するときは大人しくすべてUTF8に変換するべきなんでしょうか
2020/11/17(火) 00:16:54.68ID:ep69fhBS
Git関係なくUTF-8にするべき
Visual StudioのプロジェクトならUTF-16とかもあるけど
少なくとも全部Unicodeにしとけ
2020/11/17(火) 00:23:07.14ID:cTkCP5Bm
Visual Studioでsjisファイルのプレビューを見てみたけど文字化けなんかしてないけどなあ
2020/11/17(火) 01:17:38.85ID:4RXTidLa
>>225
git自体はUTF8だろうがSJISだろうが管理できるよ
文字化けするのはSourceTreeの問題
2020/11/17(火) 02:15:40.13ID:wZV7GIAN
gitattributesに文字コード書くだけ
2020/11/17(火) 02:32:05.88ID:hUMTMGfY
Visual Studioがうんこだから仕方なくVSで管理する用のソースファイルはBOMつきUTF-8にしてる
本当はBOMなしUTF-8がいいけど
(/source-charset:utf-8の存在は知ってる)
231137
垢版 |
2020/11/17(火) 08:10:49.14ID:lJA+qRYx
>>230
visual studioもEditorConfig対応しているってよ。
2020/11/17(火) 09:08:16.34ID:iIrFjUs6
Gitは文字コードを管理できないというか実質的にUTF8強制になる
改行コードも固定するしかない
2020/11/17(火) 12:46:30.93ID:sslQDmWT
Visual Studioのプロジェクトにはプロジェクトファイルやリソースファイルも含まれていて、
UTF16やShift-JISで自動的に生成されるものが多いけど、
これらのファイルもUTF8にして運用するのがGitのやりかたということでしょうか?
MacやLinuxなどに持ってくることは考えていないです。
2020/11/17(火) 13:15:25.09ID:kX22Q/MP
別にutf8に固執する必要なんてないよ
2020/11/17(火) 13:54:19.11ID:ep69fhBS
UTF-16でもUTF-8でもいいよ
Unicodeならどっちでもいい
2020/11/17(火) 13:55:20.25ID:CjRdGkWC
Gitだと文字コードや改行コードが考慮されないから、Windowsだけで開発するならUTF8以外でもいいいけど、いずにせよ固定しないといけない
2020/11/17(火) 13:56:26.00ID:WArcbn8k
SJISでもいいといえばいいけど、LinuxユーザーやMacユーザーがメンバーにいると困ることになると思う
2020/11/17(火) 14:19:48.15ID:9dDm78mO
>>237
質問者はWindowsだけって言ってるだろ
2020/11/17(火) 14:22:19.09ID:NE44coqD
WindowsだけならSJISはまずいな
海外のWindowsじゃ使えない
やっぱりUTF-16じゃないと
2020/11/17(火) 14:26:50.42ID:3/q4MWZe
SJISのファイルを英語版のWindowsに持っていったら、Windows Indexとかどうなるんだろうな
2020/11/17(火) 17:01:55.47ID:74wM5f1E
batファイルがCHCPだけで問題なく使えれば全部UTF-8にできるんだがなあ
現実解でいえば多少Shift JISのソースが混ざることもあるよ
Gitでは困らないけど統一できるならしたいところ
2020/11/17(火) 17:11:02.74ID:nHdTOcnh
>>241
バッチファイルだけだよって言ったほうがわかりやすいw
243137
垢版 |
2020/11/17(火) 18:47:44.20ID:lJA+qRYx
>>241
Power Shell使わせたら?
バッチファイルしか使えないような環境は未サポートでいいだろ。
2020/11/17(火) 18:57:03.90ID:3gEjvWlt
>>243
勝手なこと言うなよ
245233
垢版 |
2020/11/17(火) 22:52:01.91ID:qU694wOR
何度もすいません。必ずしもUTF8にする必要はないということは、
SourceTreeで差分などが文字化けするのは諦めた上でということですか?
それとも、Shift-JISやUTF16のファイルが混ざっていても
文字化けさせない方法があるのでしょうか?
2020/11/17(火) 23:00:53.88ID:w1s1A3Uh
端的に言ってsourcetreeがアホってこと
2020/11/17(火) 23:25:46.72
空ディレクトリはプッシュできないのはなぜですか
2020/11/18(水) 00:17:09.23ID:cMpWLiaN
gitはファイルしか管理していない。
ファイルパスを保存しているからディレクトリが有るように見えるだけ。
2020/11/18(水) 00:57:04.47ID:dj5RIL/l
>>247
https://gist.github.com/dritoshi/2168873
2020/11/18(水) 01:10:01.63
>>248,249
ありがとうございました
2020/11/18(水) 04:02:44.61ID:uoM+CD8t
>>245
差分はwinmergeがおすすめよ
文字コードの認識能力は高いし、多くの改行コードにも対応してる
難点は、いろんな文字コードや改行コードが混ざってても気づかないところかw

gitとの連携もできるしね
2020/11/18(水) 08:35:52.41ID:kXa1mHp5
>>251
改行コードが混在してるときはMixedってステータスバーに表示されたかと
253137
垢版 |
2020/11/18(水) 12:24:59.97ID:6GRC5GM1
>>247
作業ディレクトリなどのように中身のファイルを無視したい場合は、.gitignoreを例外として全ファイルを無視する.gitignoreを入れておくといい。
2020/11/18(水) 12:36:04.63ID:t3uJEQyj
>>246,251,252
ファイルごとの文字コードは無理に統一せずに、
UTF16やShift-JISのときはSourceTreeの差分表示は文字化けさせたまま、
WinMergeで比較を行うということですよね?

WinMergeは普段から使っているので、
SourceTreeで文字化けしていてもGitの管理上は問題ないのなら、
それが楽かもしれないです。
2020/11/18(水) 18:13:59.21ID:aBokwQ7L
WindowsユーザーのGit初心者はTortoiseGitを使うのが一番楽だと思う
同梱のdiffツールも十分実用的
シェル統合は好き嫌い別れるけど文字化けのようなトラブルを独力で解決できるなら好きなツールを使えばよろし
256137
垢版 |
2020/11/18(水) 19:18:43.32ID:6GRC5GM1
開発初心者なら、こだわりのエディタとかないだろうから
Visual Studio Code + Git Graph
を使わせるのが一番いいと思う。
gitの機能がeditorに統合されているとやっぱり楽よ。
2020/11/18(水) 19:21:49.89ID:9OxgFlRx
コミットの改ざんを直感的なUIで出来るアプリほしい
コミットをくっつけたり
変更範囲の広いコミットを分割したり
コンフリクトを解消したり
258デフォルトの名無しさん
垢版 |
2020/11/19(木) 14:59:14.84ID:MCajbxoP
すいません
初心者なのですが、以下の状況に陥りました

1.origin/masterからブランチAを作成した
2.作業が途中だったが、他の作業が発生したのでAをコミットせずにスタッシュした
3.origin/masterからブランチBを作成した
4.ブランチBをコミットしてorigin/masterへマージした
5.ブランチAの作業を再開しようとしたらコンフリクトが発生した

ブランチAのチェックアウトもプルもスタッシュの復帰もできないのですが、
どの手順でAの作業を再開すればよいのでしょうか?
2020/11/19(木) 15:04:04.00ID:MmDwDVMn
A のチェックアウトで何かエラーが出るの?
2020/11/19(木) 15:33:04.91ID:s5sCnCc3
>>258
6.テキストエディタでソースコードのコンフリクトした箇所を修正しAの作業を再開した

これだけ
2020/11/19(木) 15:38:04.08ID:s5sCnCc3
svn脳だと、ああコンフリクトしてしまったと天を仰ぎ
一体全体どうすればいいんだと嘆き悲しみ、大混乱が発生し
やがてコンフリクトとそれを引き起こした人に対して憎悪を抱くようになるが
git脳では日常的にある作業の一つでしかない
262デフォルトの名無しさん
垢版 |
2020/11/19(木) 15:43:25.31ID:MCajbxoP
>>259
以下です
The following untracked working tree files would be overwitten by checkout.
〇〇(ファイル名)
2020/11/19(木) 15:44:00.04ID:s5sCnCc3
コンフリクトじゃねーじゃん
2020/11/19(木) 15:51:46.78ID:IwXUzkye
ワロタwwwww
265デフォルトの名無しさん
垢版 |
2020/11/19(木) 16:04:24.67ID:MCajbxoP
コンフリクトしているのでもう一度スタッシュし直したら
チェックアウト時に上記のエラーとなりました。
266デフォルトの名無しさん
垢版 |
2020/11/19(木) 16:10:41.62ID:MCajbxoP
最終的にmasterがこのようなツリーになると助かるのですが、可能でしょうか?
https://dotup.org/uploda/dotup.org2312003.png
2020/11/19(木) 16:11:05.59ID:80weRq09
何番の話ですか?
2020/11/19(木) 16:11:36.42ID:80weRq09
>>266
だからコンフリクトを直せと
2020/11/19(木) 16:12:05.47ID:80weRq09
だからテキストエディタでソースコードを修正してコンフリクトを直せと
2020/11/19(木) 16:14:39.10ID:80weRq09
コンフリクトという用語を知らないなら

テキストエディタでソースコードを修正して動くようにしてコミットしろ
271258
垢版 |
2020/11/19(木) 16:24:02.88ID:MCajbxoP
>>267

>>258の話です

皆さん、ありがとうございました
とりあえずマージしてみます
2020/11/19(木) 16:26:26.84ID:r3/rn3nu
>>258
visual studio code + git graph
IntelliJ
みたいなテキストエディタ含めてgitと連携する環境をしっかり作ったほうがいいよ。
ややこしいコンフリクトもずいぶん楽になる。
2020/11/19(木) 16:32:13.25ID:6J1HULFT
>>271
>>266にしたいならマージよりもリベースじゃないかな
2020/11/19(木) 19:24:09.28ID:edxpyLrT
GitだろうとSubversionだろうとコンフリクトしたら、一つ一つソースコード読んで正常動作する状態にエディタで修正するしかない
275258
垢版 |
2020/11/19(木) 19:26:05.64ID:MCajbxoP
>>270
とりあえずブランチAのコミットまで出来ました
ブランチAのチェックアウトが出来ないのはAに原因があると誤解していました

作業中のブランチに差分が出てしまっていたのが原因でした

お騒がせしました
2020/11/19(木) 19:27:23.27ID:I6H01ZjG
何もできなくなる時がたまにあって困る
cloneからやり直し
277258
垢版 |
2020/11/19(木) 19:32:28.60ID:MCajbxoP
>>272
ありがとうございます
導入します

>>273
ブランチの途中コミットはそれほど大切ではないのでリベースにするかもしれません

>>274
慣れるよう精進します
2020/11/19(木) 20:29:59.17ID:MKpNlHWc
途中コミットが大切ではないってのはリベースとスカッシュを混同してそう
2020/11/19(木) 21:12:30.26ID:9L+0VoU7
スカッシュとstash混同してますよ
280デフォルトの名無しさん
垢版 |
2020/11/19(木) 21:30:53.05ID:s+3w0EIq
高卒にはスカッシュわからんか。
2020/11/19(木) 21:33:25.20ID:B6Ba+nPY
スカッシュさわやか
2020/11/19(木) 21:49:51.48ID:+ya+1J+2
スカシュッペ
2020/11/20(金) 09:09:05.28ID:kz/VI7H0
stashってさ、やってる事は臨時ブランチでコミットと同じ認識で合ってる?
イマイチ存在理由がよくわからんのだが
2020/11/20(金) 11:22:12.97ID:9Dj+1g2T
>>283
英語の意味でも調べたら?
2020/11/20(金) 11:23:09.81ID:9Dj+1g2T
あと存在理由がわからんやつは、プログラマじゃないだろうな
あれだろマージ担当者とかだろw
2020/11/20(金) 12:52:35.74ID:sJptOchs
その理解でいいと思いますけど、ブランチと同じように使おうとすると、別ブランチでpopしたときに悲しいことになります。(確か現在の作業領域にpopするだけでしたよね?)
自分だったら素直に臨時コミットを作ります。add . && ci -m "tmp"だけで済みますし。
あとツールの問題もあって、gitkを使ってるんですけど、最後にstashした位置にしか表示されないのでわかりづらいです。最近使ってないので直ってるかもしれないですが。
2020/11/20(金) 12:53:16.66ID:sJptOchs
s/ブランチと同じ/コミットと同じ/
2020/11/20(金) 15:13:30.13ID:chBH1D/L
間違ってpopしたらまたstashするね
popが怖いなら常にapplyするね
stashにはHEADがstashを指すことがないので現在地を意識不要という利点もある
楽さを取るか、作業ブランチ一本槍のシンプルさをとるか、好きにするよろし
2020/11/20(金) 15:20:00.20ID:chBH1D/L
stashが起点に縛られないという性質は、割とどこにでも適用できるという利点の裏返しでもある
急なインスピレーションで作業開始して、あとで然るべき適用先を探すようなアブノーマルさも優しく受け入れる懐の深いいいやつ
290デフォルトの名無しさん
垢版 |
2020/11/20(金) 18:20:42.82ID:FeyWRiQw
♪無能な奴らが夕暮れさらに無能な奴を叩く
2020/11/20(金) 18:44:55.52ID:O1/V8Q7J
下には下がいるんだよ
2020/11/20(金) 21:50:38.63ID:NdjY04o9
俺はdiffをファイルにしておいてあとでpatch適用するわ
2020/11/22(日) 03:19:35.07ID:SPm0fWZA
>>292
俺も20年前はそうしてたな
2020/11/26(木) 14:43:56.01ID:CHu2Dr8c
windowsでdiff-highlightを使う方法を教えてください
2020/11/26(木) 23:24:52.51ID:nMGuNDj4
まずvscodeを入れます
2020/11/27(金) 01:18:57.58ID:0ROuVY6R
次にちんぽをなめます
2020/11/27(金) 01:44:34.63ID:qCpklAmW
はい、今なめました
次はどうすれば?
2020/11/27(金) 09:25:01.31ID:dsaw8Dph
体が柔らかいんだな
2020/11/27(金) 19:12:07.98ID:VqzZxTPq
なめたのは姉のちんぽです
2020/11/28(土) 09:16:37.14ID:d3Dzvo13
ちんぽ持ちの姉とか羨ましい
2020/11/29(日) 19:01:51.61ID:P9IxyqDK
github上に残したくないあるディレクトリ以下のファイルを全て履歴から削除したいんですが
コミットするときにそのディレクトリだけでなく、他のディレクトリの残しておきたいファイルも一緒にこみっとしてます
どのように履歴から消せますか?
2020/11/29(日) 19:04:59.97ID:sOEBQUsx
ちんぽ姉
あんぽ柿
少し似ている
2020/11/29(日) 20:11:24.34ID:4Sa9/2cA
>>301
具体的な手順はいくつかあるが、例えば
不要ファイルを削除するコミットを作って、rebaseして不要ファイルを追加したコミットにsquashしてやる。
2020/11/29(日) 20:18:01.37ID:bza0LWNC
めんどくさ
コミットをエクスプローラーで開いてセーブしたらコミットが上書きされる単純明快な機能があればいいのに
2020/11/29(日) 20:48:16.87ID:WDgQGVrN
コミットをエクスプローラで開く???
2020/11/29(日) 20:58:21.93ID:sV/hNKwx
そんなことができたんじゃ何のためのSCMでリポジトリなんだかわからんな。
2020/11/29(日) 23:21:50.15ID:7a+fWiSw
変更履歴を管理するというとイミュータブルな印象を受けるけど
実用上は別にイミュータブルである必要はない
というか履歴を後から整理して追跡しやすくしたほうがメンテナンス性は上がるのだからむしろミュータブルであるべき
2020/11/29(日) 23:29:02.85ID:7a+fWiSw
例えば物理的なコミットAには論理的な変更1と変更2が含まれてるとしてだ

* コミットAの後ろに新規コミットBを挿入
* コミットAをチェックアウト
* 変更2を手動で取り除く
* コミットAを保存

とすると履歴が変更1と変更2に綺麗に分かれる
こうしたほうが履歴が遥かに綺麗になる
SCMはこういう操作がもっと直感的に簡単にできるべきなんだよ
2020/11/29(日) 23:37:00.37ID:+p4clpep
>>304
どうやって複数のファイルの修正を一つのコミットにまとめるんだ?(苦笑)
2020/11/29(日) 23:42:11.74ID:7a+fWiSw
>>309
エクスプローラーで
2020/11/29(日) 23:56:04.91ID:+p4clpep
>>308

* 変更2を手動で取り除く
* コミットAにgit commit --amend
* CTRL+Zを押して変更を手動で戻す
* コミットBとして保存

もっと簡単にできるが?
2020/11/29(日) 23:56:36.12ID:+p4clpep
>>310
エクスプローラーにそんな機能はありません
新しい機能の仕様を書いてください
2020/11/29(日) 23:58:51.16ID:7a+fWiSw
>>311
直感的じゃない
2020/11/30(月) 00:14:22.73ID:XdYfXM2+
こうかな?
git filter-branch --index-filter 'git rm -rf --cached --ignore-unmatch フォルダのパス'
BFG Repo-Cleanerを使うともっと性能がいいらしい
2020/11/30(月) 01:13:30.64ID:rn09M8ye
>>313
直感的だろ
前のコミットを修正して
次のコミットを追加するだけだ
2020/11/30(月) 01:36:20.12ID:mKaKPR0T
別にいいんでないの?
pushするときにコミットまとめる機能があれば
2020/11/30(月) 07:40:01.87ID:yv0cTGob
エディタとかエクスプローラの操作でgitコマンドが発行されるソフトを作ればいいんでないの
2020/11/30(月) 08:59:23.49ID:XdYfXM2+
まんまTortoiseGitの設計思想っぽいな
ディレクトリツリーに加えて歴史という時間軸があるからエクスプローラという枠を大分越えてるだろうけど
しかも今回みたいなお題はTortoiseではなくfilter-branchみたいに時間軸に対して効くコマンドを使わないと手作業が増えて堪んないと思う
2020/12/01(火) 14:18:01.57ID:PZkLMkoH
>>304
ワンピースのうるてぃが言うセリフ
2020/12/05(土) 09:00:05.43ID:1DQ0XHCl
そんなにいいか?
2020/12/05(土) 13:52:03.76ID:zyjWjIMj
>>320
ワンピース見たことない
2020/12/05(土) 13:58:25.83ID:++4jxPOM
>>321
https://ec.toranoana.jp/tora_r/ec/item/040030317734/

読んどけ
2020/12/05(土) 15:03:10.78ID:Opj7igsw
18歳未満なので見れませんね
2020/12/05(土) 15:06:02.47ID:++4jxPOM
巻末(?)の妹「ワンピースみたいな漫画かいてよ!」
→わんぴいすというこんな漫画を書いてるよ
は涙モノなのにな
2020/12/06(日) 15:47:36.02ID:IaKTyiK3
GitHubなどのサイト上では、ファイルごとの履歴を見ることはできないのでしょうか
2020/12/06(日) 15:52:47.62ID:Wgt8J/wa
git diff --name-onlyで削除したファイルは表示しない方法を教えてください
2020/12/06(日) 18:19:05.42ID:RoBzUJJX
>>325
Historyをクリックしたら見れますよ
2020/12/06(日) 20:46:49.91ID:IaKTyiK3
>>327
完全に見落としていました。ありがとうございます。
2020/12/06(日) 22:36:04.58ID:gzaeHJce
>>326
git diff --name-only --diff-filter=d かな?
330233
垢版 |
2020/12/08(火) 00:08:05.40ID:VF8E4fJS
「わかばちゃんと学ぶGit使い方入門」という本を読んでるのですが、
140ページのコンフリクトの解決って、本の通りにできますか?
元々のmasterは5月6日開催なのに、5月6日の方を採用したら、
変更なしになってコミットできなくなってしまうのですが。
2020/12/12(土) 09:01:14.04ID:KjC8Y+C6
git subtreeでハマってます。どなたかお助けを。

まず以下のコマンドで別のプロジェクトのHogeを取り込みました:
git remote add Hoge <HogeのURL>
git subtree add --prefix=sub/Hoge --squash Hoge master

で、Hogeのmasterで変更があったので、取り込みたいと思い
git subtree pull --prefix=sub/Hoge --squash Hoge master

これが Can't squash-merge: 'sub/Hoge' was never added. というエラーで
失敗してしまいます。実際 git subtee add の時点でsub/Hogeにはちゃんと
ファイルができてるんですが、never added とはどういうことなんでしょう。
2020/12/12(土) 13:41:45.16ID:MG/EKh+i
ピーターパンツの国
2020/12/12(土) 19:03:59.98ID:s2JPaqvY
subtreeをaddしたということを一度pushしなくていいの?
2020/12/12(土) 21:52:55.70ID:o8F1hrVe
>>333
ああすみません、subtree addのあと、commit, pushをしました。
あと省略してしまいましたがsubtree pullの前にはgit remote add Hoge <HogeのURL>と
git fetch Hoge masterをしています。
2020/12/13(日) 08:08:39.67ID:EpHdNzxH
Git ってソースコードなしのアイデアノートみたいなの投稿しまくったら怒られる?
公開しなければ大丈夫か、公開しても大丈夫か、そもそもダメなのか

バージョン管理できて過去に間違った事書いてたのも確認できたら良さそうだけど
2020/12/13(日) 08:09:08.00ID:EpHdNzxH
あ、ごめん、GitHun のことね、もしくは GitLab でも
2020/12/13(日) 10:17:23.18ID:wMleJLXj
法律とか条例みたいなものまでGitHubで作る時代になにいってんの
2020/12/13(日) 11:16:43.84ID:EpHdNzxH
Gist 使えば良いのか
2020/12/13(日) 11:45:45.40ID:he+bODzw
誰に怒られるんだ、githubの利用規約を気にしてるのか?
gitで管理できるものなら何でも、常識の範囲内で使えるサービスだと思うぞ
2020/12/13(日) 11:53:16.80ID:g745qoA+
小説書いてるのだってあるし余裕でしょ
2020/12/13(日) 11:55:55.14ID:scHA/gMy
>>337
これマジ?
2020/12/13(日) 11:57:33.44ID:EpHdNzxH
https://marketplace.visualstudio.com/items?itemName=vsls-contrib.gistfs

これがくそ便利だったわ、普通にローカルのファイルと同じように扱える
教えてくれてありがと
2020/12/13(日) 12:36:07.12ID:EpHdNzxH
master から main に名前変えるって話上に書いてあるけど、
git blame の方が嫌な名前じゃね?
日本人ですら抵抗感じる名前なんだけど
2020/12/13(日) 12:49:03.88ID:QWQrj2BD
それを言うならGitって名前がもうね
2020/12/13(日) 13:03:35.87ID:5EW0FlRD
それを言ったらkillコマンドもダメだな
なにも悪いイメージの言葉を全部狩ってやろうって話ではなくて、ポリコレ的に問題になるのは差別と通じるものがあるかどうか
程度問題や是非はさておき、差別は基本的人権を脅かすのが理由
blameは非難という和訳だけで覚えてるとキツいけど、blameが持つ責任の所在を明らかにするという概念を認識しているネイティブにはそこまでキツく感じないんだと思う
2020/12/13(日) 13:22:36.39ID:3afJGKv9
犯人探しは別に差別じゃないからな
2020/12/13(日) 14:25:57.38ID:a1FcLP73
black listに黒人差別は関係ないという話は
無視されたわけですが
2020/12/13(日) 15:05:53.09ID:tJMy4iCP
黒人を少しでも悪く言えないように黒人の話題を全て書き込み禁止にしてほしい
2020/12/15(火) 09:31:17.80ID:WjzirlT0
Git v2.30.0-rc0


Git 2.30-rc0 Released With More Work On "Main" Branch Renaming, Fixes
https://phoronix.com/scan.php?page=news_item&;px=Git-2.30-rc0-Released
350デフォルトの名無しさん
垢版 |
2020/12/15(火) 11:48:33.99ID:JgqAZAsv
あいつら上級地球民だから
俺たち下級とは違うんだよ
もちろん100%皮肉な
2020/12/15(火) 19:54:34.73ID:gQh/3Vfu
gist コマンドって、git と違って、何かしら技使わないと grep できないってことでいいん?
2020/12/16(水) 15:20:31.57ID:4v/YyiUF
エロ画像管理に向いてる?
エフェクト掛ける程度です
2020/12/16(水) 15:21:52.55ID:4v/YyiUF
ローカル死ぬと怖いから秘密守ってるれるホスティングサービスあると嬉しい
2020/12/16(水) 17:56:04.09ID:mj49aMLx
>>353
ローカルをディレクトリごとバックアップしときゃいい
2020/12/17(木) 08:05:46.99ID:61mx8GyZ
>>353
暗号化ストレージにリモートリポジトリ作ったら?

git-secretとかgit-cryptもあるみたいだな。使ったことないけど。
2020/12/19(土) 18:19:57.30ID:///qzbaH
ついにトークンになるのか
遅い
2020/12/19(土) 18:37:10.93ID:FXefMsJV
トオル君?
2020/12/19(土) 20:23:49.34ID:JSwgNTOX
あたしの彼氏、今日の俺は今日だけのワンタイムトークン!とか
携帯を勝手に覗き見てトークンチェック!とか言ってくる…
もぅマヂ無理。
2020/12/19(土) 21:22:51.82ID:Q3lUmbae
githubのスレでやれ
2020/12/20(日) 09:27:35.42ID:e/uuvQSS
Git v2.30.0-rc1
361デフォルトの名無しさん
垢版 |
2020/12/20(日) 09:54:39.04ID:fJFvmm9G
GitHubがGit操作時のパスワード認証を廃止、今後はトークンによる認証が必須に
https://gigazine.net/news/20201219-github-token-git-operations/
2020/12/20(日) 10:42:03.68ID:KAYvYNrC
githubのスレでやれ
2020/12/20(日) 14:51:44.47ID:h+k5X02K
GitHubってパスワード使えたのか? SSH認証だけだと思っていた。
2020/12/20(日) 20:23:32.93ID:vVtHms2k
みんな SSH でやってるでしょ
ほとんどの人が影響なし
2020/12/21(月) 20:01:18.48ID:igZjZViM
前いたとこはみんな https でやってて credentil.helper でパスワード保存してたな
これも使えなくなるのかな
2020/12/21(月) 20:06:15.80ID:D8/t+Wt8
まあ確かに会社のPCに秘密鍵置いておくと
取られる可能性はあるからな
そのPC固有のトークンのほうが安全か
もちろん俺は秘密鍵にパスコードかけてるけど
2020/12/22(火) 13:33:02.25ID:RKM5Yi1/
>>358
ネカマキモwwwwww
2020/12/24(木) 08:43:34.70ID:EahE3vDH
2段階認証あるある:
割とでかいコードをチェックアウトするためにコマンドを走らせたままにして後で見たら、
認証が期限切れになっててチェックアウトが全部失敗していた。
面倒な世の中になった。
2020/12/24(木) 09:05:56.22ID:Lnk/IQtv
そんな話初めて聞いた
2020/12/24(木) 09:15:10.65ID:Z5M4Fv1j
git の話ではないな
2020/12/24(木) 10:16:03.46ID:cbU3fp1Q
Git v2.30.0-rc2
2020/12/24(木) 11:50:57.53ID:KLhNBo44
作り話やろ?w
認証は最初に1回やるだけなんだから
2020/12/24(木) 19:38:22.47ID:pdRNZMox
あ確かに、gitの話というよりsshの話か
2020/12/24(木) 21:19:58.32ID:zHK1POmy
sshは2段階認証かからないのでは
2020/12/26(土) 08:52:45.60ID:LWCoNPDe
OTPを使うやつね
376デフォルトの名無しさん
垢版 |
2020/12/26(土) 20:26:02.66ID:z44Zq0Yv
なぱきゃとわんちゃい
みたいな名前の奴いたな
2020/12/27(日) 03:54:40.69ID:ig+Dm/J9
gitとgoogleToDoがリンクしたらいいなーと思っている
思うだけ
2020/12/27(日) 07:18:20.86ID:3wE25Ze9
>>376
あああの渡辺満里奈と結婚した...

自分は今でも人に物を頼むときについ「タノムサク」と口走りそうになることがある。
2020/12/29(火) 12:27:28.18ID:kMuxVeIu
Git v2.30.0
2020/12/30(水) 17:18:57.85ID:m/y18WaF
macではgitconfigのPAGERに何を指定したらいいのでしょうか?
macにlessが入ってなくて
381デフォルトの名無しさん
垢版 |
2021/01/03(日) 15:29:55.66ID:VGPDd1I6
.gitignoreの拡張子って何ですか?
2021/01/03(日) 17:37:10.04ID:uWkBjJnT
gitignore
383デフォルトの名無しさん
垢版 |
2021/01/03(日) 17:49:29.18ID:j0Gq6j/F
.gitignore.gitignoreってこと?
2021/01/03(日) 21:32:50.27ID:37FlK6+Q
.の右側の名前が拡張子だけど
こんな質問するようなカスがGit使うのかよ
2021/01/03(日) 23:39:20.45ID:EZ344wHF
ドットファイルはLinux系の命名ルールで、Windows系以外では拡張子にあまり意味がない
.gitignoreの拡張子はgitignoreであるとも言えるし、拡張子はないとも捉えられる
ドットファイルの拡張子は何かという質問自体にほとんど意味がない
どのように扱われるかはツールやコマンド次第
386デフォルトの名無しさん
垢版 |
2021/01/04(月) 00:13:59.55ID:sJY8blrR
>>385
ありがとうございました

>>382-384
もうちょっと分かりやすく質問したほうが良かったですね
ごめんなさい
387デフォルトの名無しさん
垢版 |
2021/01/05(火) 12:02:54.07ID:G8BimKKu
windowsのexoplorerで拡張子表示しない設定がデフォだが
.gitignoreの様ないわゆるドットファイルは全部表示されなくなるのか
2021/01/05(火) 12:28:54.57ID:aNkjNIb3
試してみればいいだろ。どうせWindowsを叩くネタ探ししてるだけだろうけどなw
2021/01/05(火) 13:11:13.60ID:QCk77nSD
>>387
表示しないのは登録されている拡張子だけでは?
2021/01/06(水) 20:55:16.68ID:Td/kVwus
>>39
コミットはスナップショットであり差分ではない
https://github.blog/jp/2021-01-06-commits-are-snapshots-not-diffs/
2021/01/07(木) 00:39:52.75ID:EvYoYllB
もう許してやれよ
2021/01/07(木) 01:43:50.25ID:aTKj6syu
絶対に許せない
絶対にだ
2021/01/07(木) 02:19:08.21ID:KFrRp0zM
ゆるしてやったらどうや
2021/01/07(木) 04:30:00.53ID:34A7D4US
俺は許す。だが第二、第三の許さいないやつが登場するかもしれないがな!
2021/01/07(木) 04:30:26.54ID:34A7D4US
俺は許さへんけどなー
2021/01/07(木) 04:32:14.62ID:Rwr+/vV9
1000年恨み続けるぞ
2021/01/07(木) 04:35:29.84ID:6iGXQ2ZO
俺も許さへんけどなー
2021/01/07(木) 04:44:30.28ID:USu0TVaW
許すまじ>>39
2021/01/07(木) 08:44:09.61ID:ZQrukJD2
まあ使う分にはコミットがスナップショットでも差分でもどっちでもいいけどな

しかし、>>390でgitが過去のバージョン管理に比べて動作が速いのが納得できた
頭のいいやつの考えることは凄いわ
2021/01/07(木) 16:00:26.65ID:EQlW7mXe
まじめな話 git のコミットは思想的にはパッチセットだけどな。
古い rcs系はスナップショットとして管理して内部的には差分として保存。
gitは逆でパッチとして管理し内部的にはスナップショットとして保存。
この辺が技術的に面白いところだけど、混乱したりバカな記事書いたりするやつが多い。
2021/01/07(木) 21:43:05.24ID:fS2hw6z7
どういう意味?
〜で管理して…で保存、の前後が何を言ってるのかわからない
管理と保存の違いを詳しく教えてくれ
2021/01/07(木) 22:15:20.16ID:CAJlIzxl
はてブコメントを見てると勘違いしてる人が結構いるのがわかる
2021/01/08(金) 17:55:34.84ID:8WBrrTq7
gitがリビジョンを差分で管理してるみたいな勘違いは何年たっても減らないな
これとかもそうで、はてブとかでボロクソに言われて逆ギレしてるし
https://qiita.com/kaityo256/items/81e7951a1ca2706955a4
2021/01/08(金) 18:04:44.51ID:KooE4RYV
まあ確かに二重性はよく言われるところではあるよね
https://www.thirtythreeforty.net/posts/2020/01/the-wave-particle-duality-of-git-commits/
2021/01/08(金) 18:12:28.13ID:PqQGKODL
>>401
内部的にはスナップショットで持ってるけど、管理の単位(コマンドの操作対象)はパッチセット(差分集合)ってこと。
前者と後者の区別できないやつ(前者だけ主張するやつと後者だけ主張するやつと両方いる)が変な誤解が湧く原因。
stash とか例外はあるけど、内部実装の議論しないんなら git ではスナップショットとか忘れて良い。一方で内部実装からむならスナップショットが特徴。
2021/01/08(金) 18:33:01.34ID:0rHRhM/J
gitのコミットがスナップショットであるって基本原理を理解しておかないと、コミット間の差分比較が速いとか、リポジトリが肥大化するとか、svnの部分チェックアウトとか、gitの長所短所の理由を理解できない
2021/01/08(金) 19:26:51.55ID:PqQGKODL
長所の「理由」とか知ってる必要ある?
普通に使うだけなら理由は知らなくても結果の特徴だけ知ってれば十分。
ガソリンの燃焼の仕組み知らなくても車は運転できる。
技術者なら知っとけ損はないから、とは思うけど使う上で必須ではない。
それより内部実装と管理対象の混同の方が問題。嘘主張するくらいなら内部実装は忘れてもらった方が。
2021/01/08(金) 19:39:39.15ID:qqFAZEK4
管理の単位ってなんのことか知らんけど、git diffするにしたって、Git内部のどこかに差分ファイルがあってそれを表示してるんじゃなくて、スナップショット間でその都度差分作ってる
だからSubversionと違って、任意のコミット間、任意のブランチ間の差分も素早く作れる
逆にこのせいでSubversionに劣る機能もある
2021/01/08(金) 19:44:00.94ID:R5EtqfcI
そんでSubversionに劣る機能って?
2021/01/08(金) 20:44:22.53ID:gSC2W/4L
コミット毎にスナップショットを保存というのは、データサイズはやっぱりでかくなるん?
そのへんのトレードオフは割り切ってる感じなんかな?
2021/01/08(金) 20:50:30.68ID:gSC2W/4L
連レスごめん

個人用のメモとかのリポジトリでも、あんまり頻繁にコミットするのはデータ量増えてくだけだからよくなくて、
1日ごとの記録をまとめてコミットしたりとかの方がいいのかな

「コミットはドラクエのセーブみたいなもんだ」ってのを最初に見たから、なんか「こまめにセーブ」しちゃうんよね
プライベートリポジトリで
2021/01/08(金) 21:15:39.42ID:/3odlZSD
> 「コミットはドラクエのセーブみたいなもんだ」ってのを最初に見たから
それが本なら捨てたほうがいいレベル

バージョン管理というのは「バージョン」を管理するためのもの
バージョンというのは機能の違い

このバージョンで追加された機能、修正された機能はなんですか?
という質問に答えられないようなコミットは作ってはいけない
2021/01/08(金) 21:17:00.17ID:/3odlZSD
ここでいってるバージョンっていうのは1.0.0みたいな
公開用バージョンじゃなくて1コミット=1内部バージョンっていう意味な
リビジョンとも言う
2021/01/08(金) 21:19:32.15ID:/3odlZSD
困ってないのにデータ容量とか速度を気にするやつは
素人の証拠だろうな
2021/01/08(金) 21:20:19.55ID:gSC2W/4L
うん、パブリックな作業だとそうなんだろうけど、
プライベートで作業してるメモとかのリポジトリの話ね
2021/01/08(金) 21:23:23.78ID:iWK9k6TE
ローカルのメモフォルダはcronで自動コミット
2021/01/08(金) 21:33:17.87ID:gSC2W/4L
ちょっとググったら、コンセプトレベルだとスナップショットで保存してるという事になってるけど、
実際にデータストレージに格納する際は、普通にデルタで管理してるみたいね

https://stackoverflow.com/questions/8198105/how-does-git-store-files
2021/01/09(土) 00:02:47.37ID:W79PuS1T
>>410
内部で圧縮だとか重複排除だとのかの機能が働いてるのでテキストなら全く気にすんな。
変更箇所が小さいということは他のスナップショットとの間での重複が大きいので、その分圧縮がよく効いて結局小さくなる。

逆にいうと重複排除や圧縮の効かない画像や音声などのバイナリは小さくならないのでディスクを食いまくる。
2021/01/09(土) 04:27:19.29ID:OcYH4afG
肥大化するのは、Gitがブランチ作りまくって運用するって思想なのもある
DLLとかアセットを大量に扱いやすいゲーム開発でSubversionが好まれやすいのは、Subversionがバイナリーもデルタで管理するから
2021/01/09(土) 07:29:37.17ID:tLHsNmBf
ブランチ作りまくるのは、ブランチ作ったほうがいいから
gitだからブランチを作るのではない
作りたいから作るのだ

作りたいのにsubversionは面倒だから
作るのが億劫になる
2021/01/09(土) 09:07:49.24ID:HR4R//in
上にもあるけど、blob/tree/commitの違いを意識しないでスナップショット/差分の議論をしているから混乱するのかなと思った。
それと"パッチ"と"スナップショットでないもの"(=同じ内容を重複保存しない)も混ぜてるのも混乱の元だと思う
2021/01/09(土) 09:10:26.81ID:HR4R//in
gitはスナップショットと言っていいと思う。
blobは厳密にスナップショット。
tree, commitもスナップショット。ただし、すでに保存されているblob, treeがあるときはハードリンクする。

これでどうだ。
2021/01/09(土) 10:24:45.44ID:iPsMunau
とても分かりやすい
2021/01/09(土) 10:36:06.13ID:iPsMunau
BLOBが完全にスナップショットってことは
平均100バイトのソースを通算100万回変更してコピーが作られたとしても所詮100MB単位なので問題なしとして
100MBの神Excelを1000回コミットすると100GB肥大化しちゃう?
2021/01/09(土) 11:02:31.02ID:HMKT/ruy
GitのホスティングサービスってGitHubとかBacklogとかどこも1ファイル100MBまでとか全体で2GBまでとかに制限してるか、または推奨してる
Gitとしては巨大なリポジトリは分割して複数のリポジトリで管理するのを良しとしてる
2021/01/09(土) 11:06:21.25ID:HMKT/ruy
ただ、GoogleとかFacebookとかApache Foundationとか巨大なシングルリポジトリでソース管理してるとこも多くて、そういうとこじゃGitは使えない
2021/01/09(土) 11:20:38.94ID:VJN4kPsf
Androidはrepoという、沢山のgitレポジトリを集めたようなやつになってるよね。
でルートの.repoというディレクトリの下が結構でかくなる。何十GBとか。
2021/01/09(土) 13:01:58.11ID:GDFdV6+U
>>425
それgitの制限の話なの?
ホスティングサービスとしての容量制限じゃないの?
2021/01/09(土) 13:31:10.98ID:HMKT/ruy
それくらいがリポジトリ分割の目安ってこと
GitHubとかBitbucketとかたいていのプロジェクトで使うし
2021/01/09(土) 13:34:00.22ID:HMKT/ruy
Apacheはこんなことしてるし
https://svn.apache.org/viewvc/
2021/01/09(土) 13:54:10.37ID:GDFdV6+U
>>429
いや説明になってないけど
技術的にgitの限界というなら知りたいとこだが
2021/01/09(土) 13:58:13.20ID:HMKT/ruy
お前アホだろ
2021/01/09(土) 14:39:15.02ID:GDFdV6+U
説明できずに逆ギレとはテンプレみたいな奴だな
2021/01/09(土) 17:15:51.87ID:hICARDFL
バージョン管理システムはソースコードを管理するためのもので
差分見たり、ファイルの一部分を取り入れたりできなければ意味がない

100MBとかソースコード(テキスト形式)ではありえないようなサイズは
Git LFSを使ってファイルとして管理するのが推奨されてる
2021/01/10(日) 02:02:28.87ID:sWDDTlTI
>>417 >>422
このレベルの理解でドヤる奴が多いので混乱する

だいたい >>422 の理解でいいのだけど、
Packfile という仕組みで blob はスナップショットから別のblobとの差分へ変換される
この仕組みはコミット時に動くのではなくて、適当なタイミングで非同期的に行われる

ほぼ公式のこれ読んどけ
https://git-scm.com/book/ja/v2/Git%E3%81%AE%E5%86%85%E5%81%B4-Packfile
2021/01/10(日) 02:10:27.13ID:sWDDTlTI
>>422 のハードリンクというのは違うか、同じハッシュを参照するだけ
2021/01/10(日) 11:31:03.72ID:YtDhIn2G
>>435
コミット(というかインデックスファイル作るときなのでadd)したときにはスナップショットが作られる(記事内のlooseオブジェクト)けど、
gcで差分に変換される(=packfile)ってことか。勉強になるわ。
差分はどういうフォーマットなの?たぶんdiffではないよね?

あとハードリンクってのは概念的な類似(inode)から口走っちゃったけど、>>436のつもりです。ブランチと同じようにハッシュ向けるだけ。
438デフォルトの名無しさん
垢版 |
2021/01/10(日) 16:45:12.51ID:LeXF6f76
>>416だと保存しないとトリガーが発動しないから保存を忘れてしまえば効果が無いな
2021/01/13(水) 21:53:18.46ID:5+4LZxHe
一番最初のコミットしたファイルにパスワードが含まれるファイルがあるので
パスワードを空にしてそのコミットを修正する方法を教えてください
そのファイルは2回目以降にもぼちぼち編集してますが
パスワードの行は変更しておりません
2021/01/13(水) 21:55:13.38ID:CyYDkVRJ
やっちまったな
2021/01/14(木) 00:17:47.56ID:iLKd+C5M
>>439
BFG Repo-Cleanerを--replace-textオプションで実行
2021/01/16(土) 07:59:32.68ID:WJOhPj8J
Git って今、SHA-1 と SHA-256 どっち使ってるの?
2021/01/28(木) 07:56:37.51ID:acOoD31W
git switch と git branch があったら、git checkout ってもう使い所ないですか?
2021/01/29(金) 17:38:30.84ID:W6HglRhM
自分のHTMLやcssの履歴を残したいのでgitを使い始めたのですが、

コミット(B)した後に、1ファイルの1行だけ修正してからコミット(A)してしまって
前々回のコミット(B)に取り込んで、コミット(A)を消す事はできるのでしょうか?

コミット(B)をrebaseをしてintaractiveを選んだのですが、コミット(A)は消えず
変化もありませんでした、Visual Studio Codeを使用しています
2021/01/29(金) 20:11:30.08ID:1cLC2MqD
>>444
--> B --> A を
--> B'(B+A) にしたいってことですね。
interactiveを使おうとしているということはコマンドラインは使えますね。

git reset --soft @^ && git commit --amend です。
Aの先に既にコミットしている場合や、作業領域がダーティの場合は、このコマンドではダメなので言ってください。

慣れてないなら、コマンド実行前に git rev-parse @ で表示される文字列をメモっておいてください。
2021/01/30(土) 01:49:46.04ID:Z9V3r2RM
gitとgithubが似たような仕組みって昨日知ったわ
ありがとう
2021/01/30(土) 03:16:40.27ID:wITmTCC/
>>445
rebase用にファイルを用意してみたのですが、
rebaseテスト> git reset --soft @^ && git commit --amend
&&は前のコマンドが成功したら次のコマンドを実行するとは思いますが、

発生場所 行:1 文字:21
+ git reset --soft @^ && git commit --amend
トークン '&&' は、このバージョンでは有効なステートメント区切りではありません。
&&は対応していないようです。

前のコマンドだけ入力してもエラーでした。
rebaseテスト> git reset --soft @^
fatal: ambiguous argument 'g': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
2021/01/30(土) 10:49:06.16ID:T6Q7OQGL
最後のエラーが謎い…環境を教えて下さい。
・gitのバージョン
・コマンドラインを実行しているシェル(bashではない?)

git reset --soft HEAD^
これはどうなります?
2021/01/30(土) 17:01:38.99ID:wITmTCC/
>>448
Visual Studio Codeで動くpower shellだと思います
> git --version
git version 2.24.1.windows.2
でした。

> git reset --soft HEAD^
変化がありました!

自分のレスを引用していますが
>>コミット(B)した後に、1ファイルの1行だけ修正してからコミット(A)してしまって
コミット(A)が消えて、直前に戻ったという感じです。
コミットのアンドゥと言ったところでしょうか。

そのままもう1度同じコマンドを打つと、内容を保持したままコミット(B)が消えたので
そこでコミット(B')みたいな形ではやりたいことはできました。
VSCodeのResrt to Previous Commit -> --soft を押しても同じ結果になりました

2回soft resetをしてからコミットするという感じで目的は達成できそうですが
最初の目的であるrebaseが動かなかったのは何か条件があるのかな・・
2021/01/30(土) 20:10:04.60ID:zAPZPJfA
目的は果たせたようでよかったです。
powershellは分からないですが、たぶん@と^は使わないほうがいいんだろうと思います。
2021/01/31(日) 22:20:13.70ID:/8udhYNB
皆さんってGUIのGitツールって使います?
使っているとしたらオススメとかってありますか?
2021/01/31(日) 22:32:34.38ID:BL5bBvd/
GUI使うのはIDEのgit連携機能くらいですかね
Visual Studioとか
2021/02/01(月) 00:11:14.51ID:d6MK+BJR
SourceTree使ってるけど、バージョンアップで時々変なバグ入れてくるのでおすすめしない
2021/02/01(月) 08:42:59.22ID:oGcUiyuW
>>451
forkいいよ
2021/02/01(月) 08:57:39.78ID:9cKOvUYE
gitkでツリー確認して操作はコマンドラインだな。
2021/02/01(月) 09:26:55.28ID:oAaP+56S
TortoiseGitばっかり使ってる
エクスプローラとの連携が便利だからね、、
457451
垢版 |
2021/02/01(月) 12:25:02.13ID:1/QkvVEJ
皆さん、情報提供ありがとうございます。
参考にさせていただきます。
2021/02/01(月) 22:50:03.16ID:Q5Bso842
質問させて下さい。
開発の為に開発用branchを作り、開発が完了して、master branchにマージした後、その開発用branchは削除すべきなのでしょうか?
仮に削除するのだとすると、開発用branch内の履歴が消えてしまうような気がするのですが、なにか良い方法はありますか?


よろしくお願いいたします。
2021/02/01(月) 23:09:13.83ID:36GZ1lkU
>>458
fast forward マージをした?

git log --oneline --decorate --graph --branches --tags --remotes

これを使ってみて
460デフォルトの名無しさん
垢版 |
2021/02/02(火) 12:15:14.88ID:9p26+m9e
>>451
git bashは一度起動させたらそのまま移動して使い回す
更新履歴見るときだけgitk呼んでる
操作自体はgit bash
過去の履歴が使えるので専用シェルは都合が良い
@win10
461デフォルトの名無しさん
垢版 |
2021/02/02(火) 15:24:31.09ID:eTRsUHIh
git bash 便利だよね
2021/02/02(火) 20:41:40.26ID:5V0WMfsF
tig便利
元々Linux使ってたけどGit for Windowsに付いてくるようになって嬉しい
2021/02/02(火) 22:19:04.75ID:jeVYN25G
mingwのコマンドいっぱい入っているからcygwinがわりにもなるな。
464デフォルトの名無しさん
垢版 |
2021/02/04(木) 13:02:56.36ID:g2cSm/y9
http://to-developer.com/blog/?p=2103
2021/02/04(木) 13:07:15.43ID:4mrWh63N
git reset --soft <commit>

<commit> を省いた時の動作って、
git reset --soft HEAD
と同じ意味になる?
マニュアル見ても書いてないように思うんだけど

つまり、
git reset --soft
ってのは、reflog で見れる足跡情報が増えるだけで、
それ以外にはなんにもしないコマンドって理解でいいです?
2021/02/04(木) 13:41:04.22ID:tVJRdoUz
man git-reset の最初の何行か読めばそう書いてあるだろ
2021/02/04(木) 21:59:36.37ID:OLEUfSPw
The <tree-ish>/<commit> defaults to HEAD in all forms.
2021/02/08(月) 20:47:02.46ID:kPAwZcKm
Windows で開発してるうんkなんで、
git bash を VS Code で植え込んだ時におならが出るくらい感動した
2021/02/09(火) 00:42:35.94ID:n4fLaJzx
posh-gitも結構いいと思うんだ
2021/02/09(火) 09:55:22.35ID:dT3J9cd9
Git v2.30.1
2021/02/09(火) 12:33:58.63ID:eEK9etiv
powershell はコマンドが長ったらしいだけでもう無理
エイリアス設定できたとしてももう無理
なんか powershell 開いただけで蕁麻疹出る
2021/02/09(火) 12:47:44.22ID:Ulftf9cH
powershell強力過ぎ、めっちゃ使いやすい
2021/02/09(火) 17:18:41.08ID:eEK9etiv
>>472
ちょっとどこが良いのかその良さを bash とか zsh とかと比較して語ってみて
2021/02/09(火) 17:39:51.20ID:PJ1MEzpe
powershellは
bashやzshより使いやすい
2021/02/09(火) 17:51:57.49ID:/YXPJyUh
小学生のふわっとした紹介すこ
2021/02/09(火) 18:00:37.52ID:n4fLaJzx
すまん、プレステとサターンどっちが強いってイキってる小学生から成長してないやつがいるとは思わなかった
アレルギーって自分で分かってるんだから好きなの使えばいいのにね
2021/02/09(火) 22:46:56.83ID:2AhSCbDW
利点を教えてと言っただけなのに、何でどちらが強いとかイキってるとかの話になるんだ…
2021/02/10(水) 00:13:24.97ID:85OkvizX
無理、無理、蕁麻疹出ると畳み掛けた奴が「教えてと言っただけ」と嘯くか
こういう輩が被害者ぶってる様を見る方がよっぽど無理だわ
2021/02/10(水) 00:17:09.45ID:MZ8sANR+
Powershellは使いやすいのが利点かな
2021/02/10(水) 06:21:29.99ID:qX2MPAZ0
そういう喧嘩はどうでも良くて、
普通に powershell に利点があるなら知りたいだけなんだけど
自分は powershell 全然使い込んでないし
2021/02/10(水) 06:34:31.18ID:yu7Hf4No
>>480
PowerShellスレで聞けば?

PowerShell -Part 4
https://mevius.5ch.net/test/read.cgi/tech/1577862511/
2021/02/10(水) 10:25:14.26ID:qX2MPAZ0
>>481
教えてくれてありがとう
スレお気に入れてチェックだけはしといてみるよ
483デフォルトの名無しさん
垢版 |
2021/02/13(土) 21:10:04.34ID:k+FkZinH
PowerShellは.NET Frameworkが使えることが最大の利点。
それ以外のメリットがないのが最大の欠点。
2021/02/13(土) 22:49:51.40ID:a6ioYjOw
>>483
そういうのをやりたければPowerShellスレでやれ
git関係ないだろ
485デフォルトの名無しさん
垢版 |
2021/02/13(土) 23:43:26.18ID:8rFjwvle
マイクロソフトの影響が強まっているから仕方ない部分もある
486デフォルトの名無しさん
垢版 |
2021/02/14(日) 17:26:13.02ID:TODeHKxO
質問です
あるプロジェクトをgit cloneしてローカルでbuildしたのですけど、
その中で必要なSDLのソースが404でダウンロード出来なくて、中断する状況。
メンテナに聞いてみたら"update the git hash."とのこと。
「HASH更新するのね、了解」って思ったんですが、それってどうするの?状態です。
gitのオプション見ても適当なコマンドは見たらないし、cloneしてbuildする位しか
git自体使ってない程度なのでさっぱりさんです。
どなたか教えてください。
2021/02/14(日) 17:35:22.62ID:B5Xs3xes
そのプロジェクトを明かせばいいんじゃないかな。
2021/02/14(日) 17:41:51.89ID:TODeHKxO
ぬ、了解です。
github.com/EmuELEC/EmuELEC
で、Odroid Go Advance用にmake imageしたもので該当エラーになります。
build環境はamd64のdebian9です。
2021/02/15(月) 00:31:17.39ID:GpFzBvup
package.mkのPKG_SHA256弄るっぽいです。
すんません、git関係無いかも。
2021/02/15(月) 00:47:31.45ID:GpFzBvup
>>489
これで正解だったようです。
お騒がせしました
2021/02/15(月) 11:45:26.57ID:X76akpeQ
>>11-12
ありがとう
このやり方でいきます
2021/02/16(火) 00:58:10.08ID:mnwlAejZ
質問をさせて頂きたいのですが、
GitはGPLらしいのですが、注意することはありますか?
例えばGitを用いて公開したコードは商用利用出来ないのですか?
2021/02/16(火) 01:41:07.50ID:MAgjCNR3
ライセンスに関わることは正確にやりたいこと言わないと答えられないぞ

なおGPLは商用利用を禁止していない
2021/02/16(火) 07:01:06.32ID:ZcpmZlC/
>>492
gitのソースコードを修正する時になったらまた来てください
それまでは何も気にする必要はありません
2021/02/16(火) 07:01:40.34ID:ZcpmZlC/
git「で」ソースコードを修正するときではなく
git「の」ソースコードを修正するときです
2021/02/16(火) 11:12:05.59ID:RZWWw22S
GPLのソフトを組み込んだソフトもGPLになるんだよね
gitを組み込んでる商用IDEはソース公開義務を持つのかな?
2021/02/16(火) 11:19:59.57ID:ZcpmZlC/
gitのソースコードを修正しない限り自由に組み込める
いくらコピーしてもOK。自分で作った部分のソースコード公開の義務はない
498492
垢版 |
2021/02/16(火) 17:50:38.97ID:mnwlAejZ
答えてくれた方ありがとうございました

>>493
Git(やGitHub)でWeb上に公開したコードについてですが、
まあ大体は商用利用ではないと思うのですが、
後々になってお金を頂くようなものを作る可能性もありまして
でも大丈夫なんですね

>>494
つまり、Git自体のコードをどうこうするのではなく、
Gitのサービスを単に利用するだけであれば、
GPLはあまり気にしなくていいということなんですかね?
2021/02/16(火) 18:50:42.51ID:Pme6j5oX
>>498
GPLは、
a) gitユーザーに自由にgitを使ってもらうために、
b) git開発者・gitを組み込んだプログラム開発者を制限する
ライセンス。
a,bの違いを意識しないといけないからちょっと面倒。
500492
垢版 |
2021/02/16(火) 20:16:09.71ID:mnwlAejZ
>>499
ありがとうございます
GPLって書かれてるとちょっとビビってしまいます
2021/02/16(火) 22:18:03.16ID:ZcpmZlC/
GPLで作られたソフトの「ソースコード」を
どうにかしない限り、何の成約もない
2021/02/16(火) 22:22:07.11ID:HBjzowuv
>>501
GPLのコードを静的リンクしたらGPLに感染するし、動的リンクもグレーじゃない?
2021/02/16(火) 22:23:33.33ID:OHaKBW0a
GPLの解説読むとGPLソフトを組み込んだソフトはソース改変してなくてもGPLライセンスになってしまうようにしか受け取れないけどな
2021/02/16(火) 22:30:30.89ID:I98rHtI/
>>502
動的リンクは OK、スタティックリンクは OUT とか、もうほとんど意味不明ですよね
そもそもハードディスクも物理メモリも、メモリ空間も富豪的な現状で、動的リンクの存在価値はどこにあるのでしょうか?
2021/02/16(火) 22:36:23.68ID:ZcpmZlC/
>>502
せやね。リンクしない限りOK

>>503
>ソース改変してなくてもGPLライセンスになってしまう
それはなにをしてもそうならない
ライセンス違反になるだけで、勝手にGPLライセンスになることはない

もし「○○○ライセンスになってしまう」というライセンスの強制上書きが許されるとしたら、
オレオレライセンスを組み込んだソフトは、どんなライセンスのものでも
オレオレライセンスになってしまう。というライセンスだって作れる。

GPLだろうがなんだろうが、そこにオレオレライセンスのソフトを混ぜると
GPL等のライセンス効果はなくなって、オレオレライセンスになってしまう
という強力なライセンスを作れると思うか?

>>504
そういうことだな。標準入出力でやり取りするブリッジプログラムを作れば
GPL感染すること無く利用することができる
2021/02/16(火) 22:38:07.49ID:ZcpmZlC/
> GPLソフトを組み込んだソフトは

これは、同梱という意味じゃないことに注意
当たり前だが、DVDに一緒に配布してもGPLライセンスに感染しない
それはRedHatなどがやってること
LinuxディストリはGPLとそれ以外を一緒に配布している
2021/02/16(火) 22:40:05.12ID:RZWWw22S
>>505
ライセンス違反にはなるけどしらを切れというスタンスか
2021/02/16(火) 22:46:13.31ID:ZcpmZlC/
>>507
例えば、逆にGPLのソフトが間違って、互換性がないライセンスのコードを使ってしまったとしよう
もしかしたらそのコードは有料で利用可能にしているコードかもしれない

悪いのはそのGPLソフトだ。どうすべきだと思う?
そのコードを消して謝れば許す?
それとも損害賠償すべきだと思う?
それともGPLのライセンスを、別のライセンスに変更すべきか?
2021/02/16(火) 22:47:24.67ID:/LIEBh+G
>>507
なんか誤解してる。
ライセンス違反だとしても勝手にGPLになったりしないってこと。
2021/02/16(火) 22:53:40.52ID:ZcpmZlC/
ライセンス違反したことは悪いが、
だからといってGPLに変更すれば許してやるよというのは
傲慢な脅しに過ぎない

ライセンス違反した場合に、GPLに変更するのは
ライセンス違反とい問題を解消するための、選択肢の一つでしかなく
両者の合意、または裁判によって個別に決めることでしかない

GPLに変更することで大損害を受けるのであれば、それは選択肢にならない
その場合は損害賠償を行うことで解決することになるだろう
合意が取れない場合に裁判を行うと、結局そうなる

GPL(事実上無料)にどれだけの損害を認められるか知らんがな
まあGPLを使ったことによる利益とかから算出されるんじゃね?
どうでもいい部分の利用程度なら、損害の程度も低いだろう
2021/02/16(火) 23:07:03.03ID:RZWWw22S
いちいち裁判で争ってたら仕事にならんからやっぱりGPLは避けるのが無難だな
2021/02/16(火) 23:11:40.98ID:ZcpmZlC/
ライセンス違反しなければいいだけだろ?
リンクしない限り何も影響なく
自由に利用できる
2021/02/16(火) 23:12:44.65ID:ZcpmZlC/
せっかく開発者が自由に使ってくださいって提供してるんだから
便利に使ってやらなきゃ可哀想だろう
LinuxだってGPLだ。便利に使える。
2021/02/16(火) 23:37:58.40ID:uwaPbh9W
>>504
GNU公式見解では動的リンクもOUT
Linuxカーネルがとりあえず動的モジュールOKなのはリーナス含む大勢の著作権者が不問にしてるだけ
そして動的リンクの意義はLinuxカーネルみたいなものなら自明だろう
2021/02/16(火) 23:41:52.36ID:M81i/Uj4
GPL危ない危ない
2021/02/16(火) 23:43:18.17ID:I98rHtI/
>>514
私には自明にはみえませんが‥‥
カーネルモジュールのことをいっているのですか?
2021/02/16(火) 23:45:17.03ID:uwaPbh9W
>>516
ドライバ全部入りのカーネル使いたいの?
それともドライバ組み込むたびにカーネルリンクしたい?
2021/02/16(火) 23:48:10.64ID:/LIEBh+G
どっちにしても配布物にGPLなソフトウェアを同梱しなけりゃセーフ
2021/02/16(火) 23:50:06.35ID:M81i/Uj4
余計なリスクを抱えるのは避けたいからBSD・MIT・Apacheライセンスのライブラリを使うわ
2021/02/16(火) 23:55:13.86ID:ZcpmZlC/
ライブラリをGPLにしてしまうと、静的・動的リンクのためライセンス違反になるので
そうならないようにライブラリ用にLGPLというライセンスが存在する
GPLのライブラリのほとんどはよく読めばLGPLになってるはず
2021/02/16(火) 23:55:15.05ID:I98rHtI/
>>517
MS-DOS では必要に応じてデバイスドライバを後から読み込むことができますが、MS-DOS のデバイスドライバを指して「動的リンク」とは当時は言っていませんでしたよね…
またアプリケーションに関しては、動的リンクはトラブルのもと(アプリではなく動的ライブラリが原因、とか、アプリの記述で手を抜くとアプリが暗黙に得体の知れないところの動的ライブラリをしれっとリンクする、とか)だった気がします
いわゆる Windows の DLL HELL ってやつですよ‥‥
2021/02/16(火) 23:55:48.59ID:I98rHtI/
>>520
それは矛盾と妥協の産物としか‥‥
2021/02/16(火) 23:58:03.77ID:ZcpmZlC/
例えばglibc(GNU C Library)はLGPLなのでリンクしても問題ない

https://en.wikipedia.org/wiki/GNU_C_Library
License LGPLv2.1
2021/02/17(水) 00:00:40.90ID:dCg1/Ims
>>522
LGPLはもともとLibrary GPLという名前だったことからもわかるように
ライブラリ用のGPLとして作られた

https://www.weblio.jp/content/GNU+LGPL
> LGPLとは、コピーレフトの考えを導入したGNUのライセンスのことである。
> 以前は「Library GPL」の名称で呼ばれていた。
>
> LGPLはGPL(GNU General Public License)をベースとしているが、
> LGPLの元で公開されたソースを利用したソフトウェアを開発しても、
> その独自開発部分のソースコードの公開を強制しないという特徴を持っている。
2021/02/17(水) 00:07:50.02ID:dCg1/Ims
>>521
LinuxはWindowsでいうDLL HELLを避けるために
全てのパッケージが使用するライブラリを厳密に管理してる
それがディストロの仕事で、例えば次のUbuntu 21.04をリリースすべく
いま頑張ってる作業の内容がそれ

Linuxでは一般に動的ライブラリのユーザーによるインストールが
事実上禁止されてる(動作保証しない)ことによりDLL Hell相当を防いでいる

しかしそれではライブラリのバージョンが古くて困るので
独自作成のアプリ(どちらにしろ動作保証がない)では
好き勝手ローカルディレクトリにライブラリをインストールしたり
Dockerを使ってアプリにライブラリをバンドルしているw
2021/02/17(水) 00:11:30.91ID:G/Mp6Fzr
>>525
>好き勝手ローカルディレクトリにライブラリをインストールしたりDockerを使ってアプリにライブラリをバンドルしているw

WWWWW
2021/02/17(水) 00:29:44.27ID:27gbRgcl
>>521
MSDOS界では歴史的にリンクでは無いかもしれないが、Unix界では歴史的にドライバはリンクだよ
動的にロードできるようになった今でもDOSとは違ってロード時にシンボル解決してるし
2021/02/17(水) 19:46:16.19ID:k81iZNBk
gitからzipでダウンロードして
ソースいじったりしてるやついるの?
2021/02/17(水) 21:21:53.80ID:n4obO1jB
>>527
DOS の時代であっても、一旦 OS が起動しきって command.com に制御が移った後であっても、任意の時刻に追加でデバイスドライバをロードすることは可能でしたよ‥‥
まあ DOS 的にはデバイスドライバには厳しい縛りがあるのでデバドラと動的ライブラリが同一とは主張したりはしませんが

ただ一ついえることは、2021 年現在、DLL が本当に必要なのか?という疑問はもっともっと考慮する価値がある、という点でしょうか
2021/02/18(木) 01:05:04.94ID:O19Vw8ur
ここでGitHubについての質問もしていいですか?
2021/02/18(木) 01:19:01.52ID:UIKXY2k+
そんな質問してもきっとハブられるぞ
2021/02/18(木) 01:33:18.67ID:qWQvZ+M0
ソースコード ホスティング総合【GitHub,GitLab,Bitbucket等】
https://mevius.5ch.net/test/read.cgi/tech/1531824290/
533530
垢版 |
2021/02/18(木) 01:40:21.32ID:O19Vw8ur
>>531
ですよね〜

>>532
そんなスレッドがあったんですね
ありがとうございます
2021/02/18(木) 21:11:48.11ID:46H+aqKh
htmlとcssをローカルでgit管理しているのですが、
たとえば商品ページみたいなのを作っていて、cssなどを触っている時に
トップページのcssを1行だけ変更するとなると、

細かく言えば、商品ページの部分ではない部分のcssを触るのですが、
コミットしてしまうと、2つの目的が同じコミットになってしまいます。
編集部分が異なるところを分ける扱いとかはできるのでしょうか?
2021/02/19(金) 00:06:40.66ID:0c64eule
>>534 git add -p
2021/02/20(土) 18:30:49.01ID:Qz20NbPh
コマンドラインから git を利用するプログラムは GPL に感染しない
git のライブラリを直接読んで実行するプログラムは感染します(動的リンク)

ICO っていう PS2 のゲームは、GLP 違反で廃盤になってます(ソースコード公開しやがらなかった)

RMS の団体がいくつか訴訟起こしてるみたいだけど、
日本でGPL関連の裁判は多分いまだに一個もない

そもそもGPLの強制力自体法的にグレーらしいからね
多分日本で裁判起こされても負けないと思う
2021/02/20(土) 20:18:22.09ID:M2gbwTPz
仮に裁判に負けないとしてもいちいち訴訟起こされたら仕事にならないし時間の無駄だからGPLのライセンス違反は避けとくわ
2021/02/20(土) 23:45:15.22ID:upzAgg50
git checkoutで過去のコミットに戻ったあと、元いた未来のコミットに進むにはどうしたらいいの?
2021/02/20(土) 23:48:26.25ID:upzAgg50
あ、git log --all & git checkoutでいけました。
2021/02/21(日) 00:02:04.50ID:jWo1wAix
git checkout -
でよくね

ICOもワンダと巨像も名作だったな
2021/02/21(日) 00:08:08.35ID:f0EcfH0m
>>540
お、そうなのね。ありがとうー
2021/02/21(日) 00:41:18.13ID:nRMfhtr9
git-checkout -

You may also specify - which is synonymous to @{-1}.

へぇ〜しらなかった。cd - みたいだね。
2021/02/21(日) 17:55:15.38ID:Ad1gHg6w
git switch -
でもいいんやで

ところで、コミットメッセージ編集しても
コミットハッシュに影響しないようにするってのは駄目だったのかな

git の仕様的にコミットメッセージがコミットハッシュに影響しなきゃいけなかった理由ってなんだろ

これさえなければ、専用エディタとかでホイホイメッセージ編集しまくれそうなもんだけど
2021/02/21(日) 18:51:43.30ID:Ad1gHg6w
ゴリゴリ適当に作業して適当にコミットしたい時ってない?

後で rebase で整理するのめっちゃ大変になるんだけど…
コミットせずに、
たまに別のブランチに移りたいときとかはスタッシュ上手く使えばいいのかな?
2021/02/21(日) 20:56:52.41ID:AgsWCueA
>>543
わかる。
特に理由はなくて、そこまでやる必要を感じなかっただけだと思う。

俺もコミットメッセージはメタデータなのでコミットのハッシュに含めるべきではなかったと思う。

ただしメッセージも履歴をとっておくべきだと思うので、ハッシュを個別に取って、両方合成でコミットを管理するとかだな。
ソース側のハッシュだけで新しい方にマッチするようになっていれば良い。
2021/02/21(日) 21:35:17.56ID:sBTXUFZh
>>545
新しい方決め打ちじゃなくて選択させろという
要求でたらというか普通に出るから
最初から今のようにメタデータ込みの方がシンプル
2021/02/21(日) 22:11:25.44ID:UAV3hf9S
>>543
コミットメッセージまで含めて署名つけるためじゃないの?知らんけど
2021/02/21(日) 23:07:24.75ID:BgIZluJH
分散バージョン管理を何だと思ってるんだよ
履歴は複数のリポジトリに存在する可能性がある
特定のハッシュを指定すればどのリポジトリでも同じ履歴を指すのが重要
それなのにリポジトリ毎にコミットメッセージが違う可能性があるとか有り得んわ
2021/02/22(月) 17:57:15.08ID:MJ2gF5m9
>>544
ブランチ作ってそこでガンガンcommitすりゃいい
で、後でまとめてmerge ―squash
2021/02/23(火) 16:58:29.57ID:XBzTqCMZ
https://git-scm.com/docs/git-notes

そんなあなたに git-notes って回答がきたわ
2021/02/23(火) 17:58:41.19ID:EW5KgHN1
git notes はオワコン
github も表示するのをやめた

https://github.blog/2010-08-25-git-notes-display/
Update (August 14, 2014): Displaying Git notes on GitHub is no longer supported.
2021/02/23(火) 22:33:51.18ID:muDyeP08
オワコンどころか始まってすらいない
2021/02/26(金) 17:25:38.83ID:1yqjOIH/
Git v2.31.0-rc0
2021/02/27(土) 18:10:10.89ID:5c6DxbzC
初歩的な質問をさせて下さい

作業用のディレクトリ内にREADME.mdファイルを作成したのですが、
このファイルはコミットした方がいいんですか?
それとも.gitignoreファイル内に記述して追跡されないようにした方がいいですか?
2021/02/27(土) 19:51:01.47ID:Y/Tb94oW
コミットする
2021/02/27(土) 20:10:59.99ID:W8xnW4Ow
何を書いてるか次第じゃね?
2021/02/27(土) 20:22:18.91ID:5c6DxbzC
>>555
>>556
ありがとうございます

>>556
このリポジトリは練習用です、のような秘匿性は全くない内容です
2021/02/27(土) 21:05:27.89ID:GbyYV3Ad
>>554
コミットしたほうがいいよ
このリポジトリをクローンしたひとが最初に読むことを書いとくといいよ
2021/02/27(土) 22:38:58.24ID:OecrqISI
そのリポジトリはGitHubとかにホスティングするの?
2021/02/27(土) 22:42:38.12ID:2Z5Xe6zl
>>559
GitHub等のホスティングサービスでもいいしオンプレにgitサーバー建ててもいいしお好きにどうぞ
561554
垢版 |
2021/02/27(土) 23:13:08.51ID:5c6DxbzC
>>558
>>559
ありがとうございます

>>558
分かりました

>>559
はい、GitHubのリモートリポジトリにコードを挙げようと思っています
コードも練習用で秘匿性はありません
2021/03/03(水) 15:03:41.70ID:z/MOpsDf
git svn使っててSVNサーバーが移動すると
対処法(svn switch --relocate相当)が微妙でちょっとドキドキしたわ
いろいろやり方あんのな
テスト用のリポジトリ作っていじり倒していると
半日ぐらいすぐに吹っ飛ぶのでヤバい
563デフォルトの名無しさん
垢版 |
2021/03/03(水) 20:49:37.84ID:sncyHuZV
gitの使い方について質問させて下さい
なんちゃってgit-flowっぽい運用をしています(開発中のブランチはdevelop)

ウォーターフォール型?のプロジェクトを複数人で開発しているんですが、担当範囲の
単体試験が終わるまで一切pushしないメンバーがいます。
そのメンバーいわく「UTが終わってない時点で正常に動く保証が無いのだから、そんな
コードはdevelopにpushしない」との事なんですが、これが一般的な考え方なんでしょうか?

結果、ものすごい量の修正がなされたソースが開発フェーズの最後にどかんとpushされて
プルリクがくるのでとてもレビューしきれないし、確実にコンフリクトも起きます

開発の最中って、各人のコードをどのくらいの頻度でプロジェクト共有のdevelopに
取り込むのが普通なんでしょうか?
2021/03/04(木) 01:24:39.84ID:jld/rbVo
>>563
コミュニケーションとfeatureの規模の問題でないだろうか。

・コミュニケーション:
一人はfeatureが固まるまではdevelopにマージしないのが普通と考えている。もう一人はdevelopが壊れてもいいから(そういうことでしょ?)マージしてほしい。
これは会話をしたり規約を決めて解決する問題だと思うね。
表面だけ見れば、個人的にはdevelopは壊したくないので同僚に一票。
理由としてはfeatureは担当者の私物に近いが、developは共有だ。参照されるライブラリを書いているような状況では、利用する機能を壊しかねない。他人に迷惑をかけるコードをマージしたくない考えには賛同できる。
文字通り(devへのマージでなくてfeatのまま)pushしてくれないということだとしたら、その必要性を伝えてみたらどうかな。
あなたが進捗を把握するためにpushしてほしいのか、レビューを先に細かくしておきたいからしてほしいのかは知らないけど。
あなたが熱心に説得しても、もし同僚が聞き入れないのであれば、それは柔軟性や協調性の問題であるから、上司に相談してみるといいかもね。(性格がPJに合わなかっただけなので、個人批判はしないこと)
2021/03/04(木) 01:25:15.34ID:jld/rbVo
>>564
・featの規模の問題:
頻度はわからないが、どかんとコードがpushされるというのは、featに切り出した問題が大きすぎるのではないか?
開発方法が詳しくわからないが、アジャイル開発でやるようなプランニングポーカーでもやってみたらどう?
あなたが思っているよりも複雑で大きな機能なのかも。
レビューが大変なら、簡単になるようなサイズまで切り出してみたらいいんじゃないかな。

・あとは考えたくないけど、能力不足:
担当者か、レビュアーの能力が足りていないために、苦労している。
担当者目線では難しい機能で、時間がかかってしまい、フェーズの終盤までかかってしまう。
レビュアー目線では、担当者のコードを読み解くことができず、平均以上に難しさを感じている。
2021/03/04(木) 01:26:06.16ID:jld/rbVo
>>565
・最後に:
プルリクのコンフリクトは、feat担当者にマージできるように作らせるのがオススメ。(「develを壊さないようにfeatを作ってください」)
プルリク出す前に再度develからfeatにマージさせるようにすれば解決できる。(これ自体はgit flow標準ではない)
また、一定以上のコンフリクトが発生するものはacceptしないなど。

平和的に解決するように頑張ってください。
2021/03/04(木) 01:48:02.33ID:jld/rbVo
もう一点だけ補足。
説教になって申し訳ないです。

業界の普通を知ることは当然大事で、普通のことを普通にできるようにするのは大切なことなのですが、実際はチームの数だけやり方があります。
なので普通に合わせるよりも、うまく行かない現状がうまく行くような方法を適宜考えていくのが最もうまく行く方法だと考えます。

Gitと関係ないことを連々と失礼しました。
2021/03/04(木) 02:34:30.70ID:pxppk7Pi
>>566
同感
コンフリクトが多くて実質マージ不能なプルリクは却下でいいだろ
2021/03/04(木) 09:35:56.38ID:OhT1wEZp
ここは開発者に優しいスレですね
2021/03/04(木) 15:56:47.53ID:Ep7EXP13
>>563
なんとなく問題は、本流以外だと動作確認しづらい何かがあるんじゃないかという気がする。
つまりgit以外の問題なんじゃないかと。
2021/03/04(木) 17:31:50.50ID:D7YR+KaN
Git v2.31.0-rc1
2021/03/04(木) 18:38:18.06ID:D7YR+KaN
>>571
masterからmainへの名称変更は前回のv2.30で一段落付いて、
今回は普通のリリースになりそうです。
2021/03/04(木) 19:13:26.59ID:k8593Rs+
>>566
>>568
ローカルで最新devをマージしてコンフリクトを解決するのがgit flow標準になっていないのは、何か理由あるのかしらん?
後のリクエストに修正義務を課すのはわかりやすいルールだと思うけど、問題あるのかな?
2021/03/04(木) 21:37:38.82ID:miLZRrxO
標準にしてないだけじゃないかな
プルリクとは限らないから、自分でマージしたっていいし
2021/03/04(木) 21:44:50.30ID:miLZRrxO
自分でっいうか
devで自分でって言いたかった。
2021/03/10(水) 09:01:05.42ID:aXqmchiP
Git v2.30.2
2021/03/10(水) 14:21:53.36ID:LF8mKXsJ
「Git」v2.15以降に任意コード実行の脆弱性 〜v2.30.2へのアップデートを
https://forest.watch.impress.co.jp/docs/news/1311031.html

「Git LFS」が“git clone”を実行する際使われる遅延チェックアウトの仕組みに脆弱性があり、細工が施されたリポジトリから任意のコードを実行できてしまう問題(CVE-2021-21300)が修正されている。

この脆弱性は「Git」v2.15以降に影響し、最新版へ更新することで解決できる。何らかの理由でアップデートが難しい場合は、以下の緩和策が推奨されている。

・“git config --global core.symlinks false”を実行して「Git」のシンボリックリンク対応を無効にする
・プロセスフィルタのサポートを無効にする
・信頼されていないリポジトリのクローンを避ける
2021/03/16(火) 07:48:49.09ID:2J50stIm
Git v2.31.0
579デフォルトの名無しさん
垢版 |
2021/03/17(水) 19:54:37.33ID:kfZVZJH6
ゴミ

オープンソースを売り渡したゴミ
2021/03/17(水) 20:20:57.14ID:wI0GxMfw
>>579
もしかして、gitとgithubを混同してる?
581デフォルトの名無しさん
垢版 |
2021/03/17(水) 23:37:10.54ID:YH/YYkmR
GitとGitHubを混同するのは、GitHubを使ったことのない初心者だからね。

書籍での説明もPCにGit、インターネット上にGitHubがある使い方を前提とした説明ばかりだから、一緒くたになるんだと思う。
2021/03/18(木) 01:49:39.04ID:NJYdTHCo
そんな書籍は捨ててしまえ
2021/03/18(木) 02:31:24.73ID:SQWqa2FJ
知識レベルとしてはアスカの言うギフハブ=悪の組織と変わらんなw
2021/03/18(木) 09:45:31.10ID:YVfbLseY
error: 7332 bytes of body are still expected MiB | 14.00 KiB/s
fetch-pack: unexpected disconnect while reading sideband packet
fatal: early EOF
fatal: fetch-pack: invalid index-pack output

ゴミ

DL数稼ぎみたいなクズ
2021/03/18(木) 09:46:18.63ID:YVfbLseY
共犯だから一緒くたにしなければならないんだよ
586デフォルトの名無しさん
垢版 |
2021/03/18(木) 09:51:54.96ID:FvPGn+3+
gitのアカウント持ってるかって聞かれたことある?
2021/03/18(木) 12:24:31.07ID:Ao1KNBsY
あるよ。もってるならそのアカウントを会社で使うし
持ってない人や会社とは別にしたい人は新しく作る
今はしらんけど無料アカウントは複数持てないので
どちらかを有料アカウントにする要津がある
588デフォルトの名無しさん
垢版 |
2021/03/18(木) 13:09:23.00ID:7fQvPjcg
それはGitHubのアカウントだろ
589デフォルトの名無しさん
垢版 |
2021/03/18(木) 14:29:23.28ID:QYSZQq5N
gitにアカウントなんてあるんだ
はつみみだわ
590デフォルトの名無しさん
垢版 |
2021/03/18(木) 15:06:05.43ID:HfXxQmPX
git + sshd 最強
2021/03/18(木) 15:42:08.34ID:dpSVUSL0
ヘミ猫信者かな
592デフォルトの名無しさん
垢版 |
2021/03/18(木) 16:07:02.18ID:FvPGn+3+
gitのアカウント持ってるか聞かれて、bitbucketとか自前のホスティングサービスみたいなのを答えたらどうなるの?
こいつ空気読めねーなみたいな感じになるの?
2021/03/18(木) 22:01:51.13ID:/EsE4cAE
そういうときに本当に空気読めないのは「えっ?gitにアカウントなんてないですよ」って言うやつじゃないか?
2021/03/18(木) 22:31:26.93ID:Rnt4uQ59
gitのアカウントも知らないんですかと馬鹿にしたように言われて
噛み合わないまま
595デフォルトの名無しさん
垢版 |
2021/03/18(木) 23:02:30.10ID:7fQvPjcg
Gitのアカウントもあるからな。

Gitのローカルユーザー名が、OSのユーザー名だと知らないのもイタいな。
2021/03/19(金) 01:11:18.57ID:IHBvfpin
Gitも使えないゴミと仕事するのは疲れる
597デフォルトの名無しさん
垢版 |
2021/03/19(金) 01:29:38.99ID:hh9Kt8XT
WebデザイナーがGitHubのGitしか、説明しないからおかしくなる。
2021/03/19(金) 06:12:35.81ID:ixU77Wuk
どこにでも入り込んでくる

まるで覗き趣味の変態みたいだ
2021/03/19(金) 06:28:35.38ID:sCdGWAs/
>>598
それはギフハブだろ
2021/03/19(金) 07:42:24.61ID:NI5sRH9+
git も共犯
2021/03/19(金) 09:31:16.08ID:oP3tYoyl
飛鳥はこのことを予言していたのか
602デフォルトの名無しさん
垢版 |
2021/03/19(金) 10:37:37.34ID:YNMGX1sb
ギフハブの正体

岐阜への移住応援サイト GIFU×HUB
https://docodoor.co.jp/web/gifuhub/

岐阜県への移住を応援する悪の秘密結社だった(?)
603デフォルトの名無しさん
垢版 |
2021/03/19(金) 10:50:25.30ID:MMZWnUW+
おっかねーな
2021/03/19(金) 11:50:29.50ID:bqIgZIMs
日本三名泉の心地よさに身も心も籠絡されてしまうわけか
2021/03/19(金) 17:45:14.93ID:eiJMVgO4
>>600
お前まだいたのか。何が犯罪的でgitが何故共犯なのか説明してくれよ
606デフォルトの名無しさん
垢版 |
2021/03/26(金) 01:42:50.92ID:YMBMwB0G
あげ
2021/03/27(土) 08:45:34.40ID:EpqbRgcD
Git v2.31.1
2021/03/28(日) 19:48:47.28ID:Krp9vXha
kernel.orgにgitのコマンドや引数が網羅されているドキュメントがあったと思うんですが
URLをご存知の方おしえてください
2021/03/29(月) 03:53:51.49ID:/bgSgfa2
https://git.wiki.kernel.org/index.php/GitDocumentation
これ?
git inurl:kernel.orgでググったよ。
2021/03/29(月) 13:04:27.67ID:BgFmge6o
>>609

違うな

こういうレイアウトのページ
https://man7.org/linux/man-pages/man1/tmux.1.html
611デフォルトの名無しさん
垢版 |
2021/03/29(月) 15:22:33.89ID:CIMAnoRE
まさかと思ったけど、もしかしてmanページのことか?
2021/03/29(月) 18:42:53.14ID:y3naImr+
>>610
http://www.kernel.org/pub/software/scm/git/docs

上にマニュアルのリンクあったけど。
2021/03/29(月) 18:48:06.84ID:RMTcu+Or
こっちの方が見やすいかも。
https://git-scm.com/docs/git
2021/03/29(月) 22:54:46.19ID:/bgSgfa2
おれもそっちのほうがいいと思ったんだけどkernel.orgの方を探しているみたいだったので…
2021/04/01(木) 19:24:56.13ID:V5XDv8GL
コミット対象をよりわけるのをやめてみよう
https://b.hatena.ne.jp/entry/s/irof.hateblo.jp/entry/2021/03/31/230014
2021/04/01(木) 21:33:40.53ID:UYCd/2R+
>>615
あんまり説得力ないな
2021/04/01(木) 22:13:59.29ID:5yR0ePhC
これは害悪でしょ。
2021/04/01(木) 22:17:02.72ID:xJm323aF
git add . でいいじゃん(いいじゃん)
2021/04/01(木) 22:34:41.40ID:SRnc7vTe
git add . とgit add -A とgit add -A .は何が違うの?
次の認識でいい?
1つ目が、カレント以下のディレクトリのみを更新(add, modify, remove)
2つ目がレポジトリのルートから全部更新
3つ目は1つ目と同じ。
2021/04/03(土) 08:23:34.30ID:34TEePpI
windowsのandroid studioで、git/githubで管理してるプロジェクトがあるんですが、OSを新規インストールしてandroid studio/gitも新規インストールしました
ただ、プロジェクトは別のドライブにあるのでそのままですが、続きをやる場合は何が手っ取り早いのでしょうか?

一旦プロジェクトを削除してgithubからcloneしなおす以外に方法あったら教えてください
2021/04/03(土) 08:26:06.69ID:GvC+rDGr
>>620
Android Studioで別ドライブのプロジェクトをそのまま開けばいいのでは
622デフォルトの名無しさん
垢版 |
2021/04/03(土) 12:37:10.32ID:cIOl2khA
何故このスレで聞いてんの?
馬鹿なの?
2021/04/03(土) 17:09:28.94ID:34TEePpI
>>621
そうですか
githubのアカウントなどのリモートリポジトリの情報はどこに格納されてるのかなと思いまして
別のドライブのプロジェクト内に保存されてたらそのまま開けばよさげですが、その情報削除されてるならどうやって続きをと思った次第です
2021/04/03(土) 17:51:35.48ID:5vTcRKik
確認されるからもう一度認証すればよし
2021/04/03(土) 18:01:23.58ID:34TEePpI
ありがとうございます
試してみます
2021/04/03(土) 18:28:54.37ID:xn142qC9
>>622
gitの話だから問題ない
2021/04/12(月) 17:58:47.10ID:krJCqveJ
>>615読んで気になったんだけどPR出してから歴史の改ざんって出来ないかな・・・
セルフチェックせずに勢いで出してからあそこ違う、ここ、そこもとなってforce-pushのログで汚れてしまった
2021/04/12(月) 19:16:36.06ID:UzZbaOku
普通にできるだろ
自分のリポジトリなんだから
2021/04/12(月) 20:30:57.77ID:krJCqveJ
もちろん他人様のリポジトリさ
2021/04/12(月) 20:33:26.96ID:wo2ZdM5G
他人のリポジトリに勝手にブランチ作れるわけねーだろ
2021/04/12(月) 23:06:47.08ID:zj2MWyXX
どういうこと?
取り込まれる前なら出し直せばいいし、
取り込まれたらもうできないでしょ
2021/04/13(火) 02:20:43.67ID:4xD0K2WJ
他人のリポジトリにforce-pushしてんのか
恐ろしい恐ろしい
2021/04/13(火) 03:30:08.40ID:tPkELVcX
プルリク後にforce pushするとGitHubの方に記録が残ってしまう話では
2021/04/17(土) 13:17:35.49ID:/N2qyT4U
google colabでgithubから自作パッケージクローンしてpipインストール
その後、自作パッケージを変更してpip uninstall後に再pipインストールしても更新されない
colab内でpip showで辿った自作パッケージのソースコードは変更されてるのに。。
colabの「ランタイムを出荷時にリセット」てやってからだと当たり前だけどきちんと更新される
が、地味に時間がかかる・・
gitに限ったことじゃないけど
github + google colabで開発してる人はどうやって対応してるんだろ
2021/04/21(水) 04:02:09.41ID:U7I+mJcY
リベースして消えたけど 0666060 というコミットIDができたw
2021/04/23(金) 21:50:55.54ID:PpQLqqbV
featureブランチでの機能追加とテストが完了した後masterへのマージでコンフリクトが発生した場合、逆マージ(masterをfeatureにマージ)とリベースどっちで競合解決するのが普通なんでしょう?
身内で以下のような感じで意見割れまして

>逆マージ派
コンフリクト解消前のコミットログがそのまま残るので、コンフリクト解消後のテストで解消前には発生しなかった不具合が起きた場合に原因を追いやすい
Gitは切り戻しを担保するのも役割の一つであり、ログの見やすさのために情報を欠落させるべきではない

>リベース派
コンフリクト解消のコミットログは機能追加において本質的な修正ではなく、履歴を追う際ノイズになるので残すべきではない
コミットの単位が適切であればコンフリクト解消時にミスがあり不具合が発生したとしても原因特定に苦労することはない
2021/04/23(金) 22:03:41.43ID:Q2nzZb5u
> コンフリクト解消前のコミットログがそのまま残るので、コンフリクト解消後のテストで解消前には発生しなかった不具合が起きた場合に原因を追いやすい

実際には追いにくい
2021/04/23(金) 22:06:45.40ID:Q2nzZb5u
逆マージの問題はマージが2回発生すること

featureブランチへのマージしたと
それをmasterブランチにマージしなければいけない
その仮定で二重にコンフリクトが発生することがある
ログの中に同一内容に見えるコミットが複数含まれることになる
2021/04/23(金) 22:33:21.98ID:wdsr0BNZ
>>636
プロジェクトごとに考えは違うと思っていて、何を大事にするかで変わると思っている派の意見として聞いてください。
個人的には逆マージを採用します。

理由としては、コンフリクト解消のコミットを除けばfeatureの変更もリベース同等にわかりやすく、featureブランチの担当者に負担をかけないので、バランスがいいと思うからです。
解消のコミットが本質でないのはそうですが、避けられないものなら、feature実装と解消を分けて考えられるので、不具合があった場合の混入原因の特定のしやすさ→その後の改善にも繋げられると思います。

リベースの場合は、上に書いたことの裏返しでもありますが、場合によってはコミット集合を作り直す必要があると思います。
また、作り直している間にmasterやdevが更新されてたりすると、ああ面倒。このようなケースで、コンフリクトが起きる頻度は、PJの規模や同時に走っているtopicの関係にもよると思いますが…
逆マージでは最後に払うツケを、リベースでは毎回払う可能性がありますよね。わたしはそれが開発のスピードを損なうノイズだと思っています。もちろん規模によります。
でも後で見たときにはキレイなので、そこにはメリットがあると思います。

保守性のためにコミットをきれいにしておくのは大切だとは思いますが、経験上diffとblameでなんとかなる場合が多いと感じていて、将来必要とされないことに時間をかけるくらいなら、現状の開発速度に重きをおいた方がよい、というのがわたしの主張です。

的を外していたらすみません。
2021/04/23(金) 22:59:29.24ID:yD2kOx7X
>>637
解消前後でテストがpassかfailの二択なので追いやすいと思う。
追いにくい具体的な状況ってどういうものですか?
2021/04/23(金) 23:01:37.12ID:PpQLqqbV
ありがとうございます!
>>639はほぼ私が考えていることと合致していて安心しました
>>638のケースは作業自体はリベースの方がかえって大変ですよね
逆マージはその代わりもっとログが汚くなるのでトレードオフかなと

>feature実装と解消を分けて考えられるので、不具合があった場合の混入原因の特定のしやすさ→その後の改善にも繋げられる

特にこれが正に私が逆マージ派である理由なんですが、>>637は意見対立してますね
できれば>>637の理由が聞きたい…
2021/04/24(土) 00:29:41.30ID:v8PWrE/P
>>636読んで逆マージ派なのかなーという気はしていましたが、
リベース派の知人の意見を整理してみるのもいいかもしれないですね。
リベース派の理由が曖昧な感じがします。
コミットの単位が適切であれば…苦労することはない、の部分が理由としては弱い気がするので。
まあここには省いて書いたのかもしれないですが。
2021/04/24(土) 00:34:27.65ID:v8PWrE/P
あ、適切という言葉に客観性がほしいという意味です。
ここでは原因の追いやすさが、2つの立場の焦点だと思うので、
その適切さがどのようなものであれば、どう切り分けできるのか。
2021/04/24(土) 00:49:24.56ID:6TA9BQj4
リベースで何度もコンフリクト発生するのって、単にfeatureの切り出し方が不適切だったり巨大なPRがずっと居座っていたりするように、開発のフロー自体に問題があるんじゃないの?
2021/04/24(土) 07:12:17.73ID:lum8vFBO
> コミットの単位が適切であれば…苦労することはない、の部分が理由としては弱い気がするので。

「コミットの単位が適切であれば苦労することはない」は理由じゃなくて事実

逆マージってログを見ないでしょ?
残っていればOK。あとから頑張れるはず(希望。実際には頑張ったことはない)
見ないログはなんの役にも立たないし汚いログも見れないのでこれも役に立たない

>feature実装と解消を分けて考えられるので、
分けて考えてる時点でダメじゃん
リベースしてしまえば、実装だけしか考えなくて良くなる

バグが見つかった時、実装と解消の2つがあれば
実装のバグかも知れないし解消のバグかも知れない。
バグの可能性が2つに増えてしまっている
リベースしてしまえばそれがなくなる

> あ、適切という言葉に客観性がほしいという意味です。
いきあたりばったりで作業するなということ
どうせ、こう修正した、気分が変わってやり直した、レビューの指摘があったから変えた
バグが見つかって対応した。って同じ箇所を何度も修正したのがコミットに残ってるんでしょ?

このコミットをあとから見て役に立つとでも思ってんの?
一連のブランチである箇所のコードを修正しているコミットを一つに保つように
随時リベースしていれば何も困らない。masterが更新されるたびにリベースしていれば
何も困らない。コンフリクトがほぼ発生しない。それが適切ということ
2021/04/24(土) 10:18:40.57ID:vKvwVCfN
コンフリクト解消のコミットでバグを作り込みやすいと考えるのか、それが重視されるほどのリスクではないと考えるのかで選択が変わるんじゃないかな
順不同で両方取り込めば済むようなほんの小さなコンフリクトであればrebaseの利点のみが優勢になるし、複雑なコンフリクトであれば逆マージの利点が優勢になる
複雑な解消作業までrebaseで混ぜてしまうともったいないし潔癖が過ぎる感じ
その辺をガイドラインにしつつ線引は各人のこだわりに任せるのがうまく回りそう
2021/04/24(土) 10:31:26.53ID:Q6OLD2jb
>>642のおっしゃる通り友人の言うことがよく理解できてなかったんですが>>645でおおよそしっくり来ました
その上でもやはり、あるfeatureリリースによって別の機能がデグっていることが判明した場合などにおいて、逆マージコミットが残っていた方がよいのではないかと思いました
コンフリクト解消にてうっかり失敗したのか、新機能実装において意図を持って変えたのかが明確になるからです
>>646の仰るとおり複雑なコンフリクトであれば逆マージにしてそれ以外はリベースすると言うのが個人的な結論になりそうです
2021/04/24(土) 11:47:51.81ID:O5bj5KLh
逆マージした後にさらにまとめコミットを作ってマージするのはダメかしらん?
(squashの手動版)
手間がかかるけど、詳細も概要も両方残るからマシな気がするけど。
2021/04/24(土) 19:46:18.78ID:lum8vFBO
> >>646の仰るとおり複雑なコンフリクトであれば逆マージにしてそれ以外はリベースすると言うのが個人的な結論になりそうです

複雑なコンフリクト=開発に失敗したブランチ
開発に失敗したから逆マージするしか手がなくなってる
仕事だと期日まで仕上げろと言われて、みんな諦めるが
これがきっちりとしたオープンソースの開発だと、そんなものマージできませんでリジェクトされる
2021/04/24(土) 19:50:06.67ID:lum8vFBO
>>646
> コンフリクト解消のコミットでバグを作り込みやすいと考えるのか、

「コンフリクトの解消でバグが発生」という事自体がナンセンスだよね
だって開発自体は問題ないって認識なんでしょ?

開発自体に問題ないのに、コンフリクトでバグが発生するというのなら
それはもはや、コンフリクト解消という名の追加開発じゃんw

開発終わってるのに開発続けてどうするの
マージが問題なく完了できるという所までが開発でしょ?
2021/04/24(土) 19:59:19.02ID:lum8vFBO
>>647
> その上でもやはり、あるfeatureリリースによって別の機能がデグっていることが判明した場合などにおいて、逆マージコミットが残っていた方がよいのではないかと思いました
> コンフリクト解消にてうっかり失敗したのか、新機能実装において意図を持って変えたのかが明確になるからです

いやさ、なんでコンフリクトが発生するのか理解してないの?
masterとブランチの両方でコードを修正したときなんだが

masterの修正は他の人がやってる。
コンフリクトが発生するってことは、他の人がやった開発内容を把握してないということ

コンフリクト解消時に他の人がやった開発内容を把握するなんて大変な作業をやるんか?
同じ箇所を修正してるのに、お前のコードはその他人の開発内容を踏まえた修正になってないだろ
ちゃんとテストしてるんか?してるわけないよなコンフリクト解消時に判明するぐらいなんだから

コンフリクト解消時に、ついでに一緒にって追加開発するなよ
近い場所を修正したときなど、簡単な修正が必要なコンフリクトは発生することはあるが
あとからコンフリクト解消の内容を精査するなんてことがあること自体がおかしい
2021/04/24(土) 20:00:09.14ID:rGfKetgv
俺ならまっさらにして1からやり直しちゃうな
2021/04/24(土) 20:01:16.76ID:rGfKetgv
無能が作成したブランチ無理に取り込む必要あるのかよ
2021/04/24(土) 23:15:28.50ID:v8PWrE/P
人よりできるようになってくると、自分より劣ってる人にひどい言葉を投げる現象に名前をつけたい。

ところで、自分も作業の分割に根本的な問題がある気がするね。
でもそれはこれから解決していってもいいんじゃないかな。早いほうがいいけど。
目下進んでるPJの対処法が的でしょ。どの程度火が付いてるか知らんし。
2021/04/24(土) 23:34:32.99ID:vKvwVCfN
アルファシンドローム(権勢症候群)かな?
集団の中で一番知識があるとまるで有能で卓越した存在になったかのような錯覚に陥る
しかも上司や同僚に評価・尊敬されないとこういうところでくだを巻くように
2021/05/24(月) 09:52:57.06ID:7xM8BBC+
Git v2.32.0-rc1
2021/05/29(土) 16:44:52.74ID:tv9UpPs/
100M以上のファイルを ignore って出来る?
2021/05/29(土) 18:03:31.78ID:B38j6cYl
>>657
100MB以上の大きなファイルはignoreできないとかそんなアホなことある訳ないと思うけど
2021/05/29(土) 18:38:20.70ID:+XbL/TdD
今の作業コピーとは別ブランチに直接ファイルをコミットって出来ないかな
ググると「ブランチを切り替えるにはチェックアウトですよ」とか「stashで中身保存出来ますよ」とかあるけど
そうじゃなくて、今の作業コピーは1ファイルも弄くらず直接別ブランチにコミット叩き込みたいの。
2021/05/29(土) 18:40:52.10ID:UNzIfnuy
別の作業コピー作ればいいじゃん
2021/05/29(土) 18:45:26.13ID:+XbL/TdD
別フォルダに変更入ってほしくない
とにかく、今の作業コピーにある.git フォルダの中”だけ”を修正して欲しい

究極的には .git/objectsにファイルオブジェクトとtreeオブジェクト、commitオブジェクトの合計3オブジェクトを作って(コミットするファイルが1つの場合)
ブランチの宛先を差し替えればいいんだろうけど。

git write-tree、git update-indexって面白そうなコマンドがあるから調べてみるか
662デフォルトの名無しさん
垢版 |
2021/05/29(土) 19:04:50.82ID:E1EiRSsy
>>659
git worktree
2021/05/29(土) 23:29:36.18ID:eNkto9kV
覚えたほうが良いコマンドを全部教えてください
2021/05/30(日) 04:13:13.46ID:9+IYn0VT
rm -rf /
2021/05/30(日) 04:22:47.56ID:u5VBQzY3
バルスコマンドじゃないか
2021/05/30(日) 04:55:27.88ID:qzwspvO8
Appendix C: Gitのコマンド
https://git-scm.com/book/ja/v2/Appendix-C%3A-Git%E3%81%AE%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89-%E3%82%BB%E3%83%83%E3%83%88%E3%82%A2%E3%83%83%E3%83%97%E3%81%A8%E8%A8%AD%E5%AE%9A
2021/06/07(月) 02:31:07.57ID:ITNiWKmJ
Git v2.32.0
2021/06/07(月) 12:01:25.51ID:Dgv9Eq7C
一個前にコミットした内容の一部のみ取り出したいんですが、
git diff でgit add -pみたいなやり方教えてください
2021/06/07(月) 12:22:27.07ID:ba2pg6Wh
git reset -p HEAD^
2021/06/07(月) 12:50:45.60ID:0/HU77Xe
>>668
ファイル指定してcheckout
2021/06/07(月) 14:52:02.09ID:2E0gqD7j
git rm ./path/to/file
だとオートコンプリート出来ない

git rm path/to/file
は大丈夫
なんで?
672デフォルトの名無しさん
垢版 |
2021/06/07(月) 15:03:13.15ID:LlJx8Uv/
git bashで試してみたけどできるな
つまりおまば環
2021/06/07(月) 15:40:18.02ID:2E0gqD7j
macのzshだと駄目なようだ
macでもbashだと行ける
2021/06/16(水) 21:14:15.03ID:0FRtKVzj
master 撲滅運動がひと段落したら、今度は、
'doc: replace "alice" and "bob" examples'
とか
'Avoid gendered pronouns'
とか言った感じのメールが流れている。

アメリカのリベラルとか大変ですな。
2021/06/16(水) 21:17:27.70ID:v9WQfkPH
男でAliceというのもいるのにな
2021/06/16(水) 23:08:45.80ID:jDDfyj6K
heとかsheは差別用語とか言い出しそう
677デフォルトの名無しさん
垢版 |
2021/06/16(水) 23:17:10.02ID:O0nAs7bn
いち段落な
2021/06/17(木) 08:04:26.12ID:q1AaV+h7
それじゃエフ氏、エヌ氏にするか。
2021/06/17(木) 08:43:12.09ID:1WuBUd9I
FemaleやNiggerを連想させるのでダメざます
2021/06/17(木) 10:41:34.69ID:Wy4lqRlN
アルファがベータをカッパらったらイプシロンした。なぜだろう。
681デフォルトの名無しさん
垢版 |
2021/06/24(木) 14:15:24.69ID:70oiT5zZ
δ株は差別語になりそう
2021/06/26(土) 18:40:42.75ID:yL+7RGEC
cliだけで特定のコミットのタイムスタンプを(両方とも)改竄したいんだけど
git rebase -i後のエディタが開いて操作対象のコミットを選ぶ奴、コマンドラインから直に指定するにはどうしたらいい?
2021/06/27(日) 00:06:42.93ID:CxF0bT8t
rebase -iでは無理なんじゃないかな
filter-branchを使えばエディタ無しでできると思うけど凄く面倒臭い
今はfilter-branchじゃなくてfilter-repoが新しいらしい
2021/06/27(日) 01:45:42.42ID:8QnlMqaw
非インタラクティブに操作したいのに--interactiveオプションを指定するのは筋が悪いのでは
reset --hard で対象に移動
commit --amend で書き換え
rebase --onto で残りを接ぎ木する
てな感じでできないだろうか
685デフォルトの名無しさん
垢版 |
2021/07/05(月) 15:40:04.81ID:D5B478tw
project/prog/app
という構造のappディレクトリのみcloneすることはできないでしょうか?
sparse-checkoutを試してみたのですが確かにappだけ落ちてくるけどその上のprogフォルダも作られてしまいます
作業ディレクトリの中にappだけ作りたいんですけど可能でしょうか?
686デフォルトの名無しさん
垢版 |
2021/07/05(月) 15:58:21.63ID:zfQ+6anv
muri
687デフォルトの名無しさん
垢版 |
2021/07/05(月) 16:04:19.08ID:2eiMElPJ
部分cloneは無理だから巨大なのには関わりたくないんだよね
ガチ勢としてやるならともかくね
2021/07/05(月) 18:12:21.94ID:8Zv3vlvo
モノレポにすべきかしないべきか
それが問題だ
2021/07/08(木) 15:20:09.92ID:6v3NeDTQ
新人が分散VCSの概念理解できてなくて
プルリクエストのブランチの履歴をめちゃくちゃにしてる件
自分が何をしてるのかよく分からずforce pushしたっぽい
2021/07/08(木) 17:57:15.57ID:PjGQwL85
マルウェアみたいな子だな
2021/07/08(木) 20:19:23.36ID:t+LRnHh1
指導側の責任
2021/07/08(木) 21:15:28.94ID:hDJTokQh
>>689 にも関係すると思うんだけど、
ブランチをpushできるユーザを制限できないかな

慣れてない人向けのサンドボックスなブランチにもなるし。
自分も最近ブランチの運用を教えたものの、
わざとなのか理解してないのか、別のfeatureブランチにpushする輩がいてなあ。
gitlabには有料プランでそういう機能があるみたいなんだけど、ビルトインにはないよね…?
693デフォルトの名無しさん
垢版 |
2021/07/08(木) 21:43:49.58ID:Qb+plU51
権限与えなければ済むことだろ
MR出させろよ
2021/07/08(木) 22:07:09.27ID:6v3NeDTQ
>>692
うちの新人は操作するブランチは合ってるのだがめちゃくちゃにしてた
git慣れてないからって事で先輩が代わりにコミット結合しつつrebaseしたらワケワカメになったっぽい

その先輩、新人に他の人がブランチをrebaseしたら
reset --hard origin/hogeするように連絡してなかったのかも
2021/07/09(金) 00:32:25.09ID:JAtqXAas
>>692
write権限付けなければいいだけだろ
2021/07/09(金) 08:00:42.84ID:ONtLqfbU
git hookで禁止したら?
2021/07/09(金) 10:50:38.48ID:1nwtDT4u
リポジトリごと別にしたら?
新人用のリポジトリ作ってそこにコミットしてもらい、問題無ければマスターへは権限者がマージする。
2021/07/09(金) 11:49:04.59ID:y//2bXB2
みなさんありがとうございます。

writeの権限ってなんでしょうか?receive.denyDeletesとかnoFFマージの制御があるのは知ってるんですが、ブランチのpush権限を制限できましたっけ?
あとすみませんMRって聞いたことなくて教えて下さい。
それとhookは担当者のPCにレポジトリごと設定が必要だと思うんです。忘れちゃうと思うんですよ。

いろいろコメントいただいてありがたいんですが、知識が追いついてないみたいです。
よかったら教えて下さい。
2021/07/09(金) 13:17:19.36ID:ZtOU29YA
>>698
素のgitでサーバー運用してんの?
ちゃんとアクセス権設定できるgitサーバー使った方がいいと思う
2021/07/09(金) 18:27:03.19ID:y//2bXB2
はい、質問の趣旨は素のgitで、できるかというものです。

上でコメントもらったwrite権限とかMR?とかいうものは、素のgitではできないものですか?
それともリモートにhookを仕込むなどして権限制御ができるんでしょうか?

gitlabはブランチの権限を設定できるみたいですが、freeプランには無いみたいですね。
2021/07/09(金) 20:10:44.21ID:egT1RoRc
gitlab使ってるわけじゃないんだ?
ブランチを直接いじらせたくないメンバーはforkからマージリクエスト(MR)投げてもらうようにすればいいんだが。
2021/07/09(金) 21:28:00.02ID:Kwh0IYsl
ああ、マージリクエストのことでしたか。
gitlabは使ってないです。
社内標準がtracについてるやつなので、レポジトリは素のgitだと思います。
なので、ビルトインでできることがないかなと探してます。

クラウドだと難色を示されますが、gitlabはオンプレミスで構築できたと思うので、情シスに打診はしてるものの、それでも乗り気じゃないみたい…

まあこれは弊社の問題なのでおいとくとして、gitの設定だけでできるなら、やり方教えれば動いてくれるかなと。
2021/07/11(日) 06:53:33.97ID:IrrkCg66
素のgitでは出来ないと思う

gitlabは環境を変えなきゃならん可能性があるから情シスは嫌がるだろうね
giteaとかのバイナリ一個で動作するのならいいかもよ
2021/07/11(日) 10:33:06.51ID:P9RS/dyf
GitBucketはバイナリファイル一個だけで動くね
2021/07/11(日) 13:41:08.08ID:lq94NE0I
Dockerで動かせば何でもよくね
2021/07/11(日) 17:59:34.17ID:mu76RUyW
なんでもよくねーよ
707デフォルトの名無しさん
垢版 |
2021/07/11(日) 21:52:00.80ID:Km8X0WTE
GitLab自鯖にインストールしたことあるけど重すぎワロタ
アンインストールもできなくなるほど瀕死の操作不能になった
2021/07/11(日) 22:29:17.98ID:LL6sPKEi
WindowsでDocker Toolbox使ってVirtulaBox上のDockerコンテナとして動かしてもそんなに重くはなかったがな。
2021/07/12(月) 08:39:43.46ID:Y3qBMERg
>>707
最初は軽いんだけど、使ってくと段々と重くなるんだよな
軽くする方法がわかんなくて、結局使うのやめた
2021/07/24(土) 08:23:38.21ID:UjEZlBZt
もう棄てるべきときだね > Git
2021/07/24(土) 11:33:06.91ID:ClAz04v2
見かぎっとるのか
2021/07/24(土) 11:39:19.06ID:Psm9T1Np
時代はHgだよな
713デフォルトの名無しさん
垢版 |
2021/07/24(土) 11:39:52.29ID:2Wdt1Zvr
HAGEが必死すぎ
2021/07/24(土) 13:44:24.56ID:+oLVnveT
いや、時代はPijul(よみかたわかんね)だよ
2021/07/24(土) 16:30:21.34ID:F1f/P+4y
なんだよsvnが一番
2021/07/24(土) 17:16:27.02ID:wX8mF0S9
RCSに立ち帰るべき
2021/07/24(土) 18:23:45.59ID:wleNclHm
みんなどこへいくんや
2021/07/25(日) 22:44:17.50ID:mXugsmaS
P4使えや貧乏人ども
2021/07/25(日) 22:52:56.39ID:Wj/gwJho
アイヤー
MSのコード真似るAIに喰われるとはおもてもいなかたアルね
2021/08/02(月) 21:32:44.46ID:0iPmXdT5
てst
2021/08/02(月) 21:33:55.74ID:0iPmXdT5
filter-branchはじめて使ったんだけどこれって失敗することあるの?
なんかコミット全部に影響出るからこわい
2021/08/03(火) 08:25:46.68ID:51l84/HQ
>>721
テスト用ブランチ作ってからやるべき。
古いブランチはそのまま残ったはず。
2021/08/03(火) 11:52:55.80ID:wDIINEDT
普通にクローン残しておけば良くない?
2021/08/03(火) 12:30:25.20ID:AOdh4ST2
それが出来たらクローンはしないんだよ
2021/08/03(火) 13:22:46.23ID:HHmtzLUS
Git v2.33.0-rc0
2021/08/03(火) 14:28:09.14ID:gqooHnUR
NGID:AOdh4ST2
2021/08/03(火) 15:22:53.43ID:AOdh4ST2
git我慢の子であった
2021/08/03(火) 22:05:47.47ID:vFbEe1/E
>>719
FSFが「GitHub Copilot」に疑問視、ホワイトペーパーを募集
https://mag.osdn.jp/21/08/04/131400

具体的な関心領域としては、
「著作権を侵害した公開リポジトリ上でトレーニングしているのか? フェアユースか?」
「Copilotのアウトプットが、GPLでライセンスされている作品を侵害していることを主張する可能性はどのぐらいあるか?」
「Copilotが生成する侵害に対して、開発者はどのようにして自分が著作権を持つ任意のコードを保護できるのか?」
などを挙げている。
2021/08/04(水) 00:00:18.51ID:DV/IEEV3
>>727
汝、gitはギットと読み
gifはジフと読むであろう
決してジットと読むなかれ
2021/08/04(水) 00:45:22.70ID:zGXO7GNA
我が生活楽にならざりgit手を見る
2021/08/04(水) 01:01:05.64ID:7+juM3qa
ギトギトしてんなぁ
2021/08/11(水) 01:02:28.91
今githubめちゃくちゃリモートリポジトリ失敗する
2021/08/11(水) 01:50:42.29ID:nkK5xEJr
githubの使い方を勉強しています。

githubのDefault branchがmainとなっているのですが、[git branch]と打っても表示されません。
プッシュしようとしても main は存在しないと出てきてしまいます。
master が表示されているので、そこにプッシュすることはできましたが、ブラウザ上で最初に表示される
ブランチがmainなので、もやっとします。
何か対処方は有りませんでしょうか?
2021/08/11(水) 18:33:35.14ID:V3nok1pR
githubの話題はここじゃないと何度言えばわかってもらえるんだ
2021/08/11(水) 20:48:07.77ID:hUnPZulp
ソースコード ホスティング総合【GitHub,GitLab,Bitbucket等】
https://mevius.5ch.net/test/read.cgi/tech/1531824290/
2021/08/12(木) 10:35:07.83ID:Zo0evqt7
別の人が聞いてるんだから何度言ったところで終わりなんてないぞ
そういえば>>1やテンプレに誘導がないので、書いておけば少しは減るかもな
2021/08/14(土) 11:37:35.84ID:k10hBdH7
Git v2.33.0-rc2
2021/08/17(火) 09:15:15.38ID:5BxJGggb
Git v2.33.0
2021/08/21(土) 01:22:27.49ID:MIM0rlCw
リポジトリのすべてのコミット履歴から特定の文字列を削除したいんですが良い方法無いですか?
filter-branchするしかないでしょうか?
740739
垢版 |
2021/08/21(土) 02:28:12.51ID:MIM0rlCw
すみません
filter-branchでやりました
2021/08/21(土) 03:02:27.50ID:MIM0rlCw
20ファイルぐらいあるんですが今、filter-branchで1つずつ削除しています
たぶん土日潰れそうです
2021/08/21(土) 20:58:05.05ID:c3XZUC80
>>30
去年のレスで申し訳ないけど
VSCodeやxcodeだと、git statusで差分があるファイルの色を変えたり 表示を絞り込んだり出来るじゃん
ちまちまコミットしているとそれが出来なくなる(コミットする度に差分が無くなって特別扱いされるファイルが減る)
のが困るんだけど、どうにかなりませんか
2021/08/22(日) 00:44:29.78ID:p4dnH1aF
任意のコミット間で差分表示すればいいじゃん
744デフォルトの名無しさん
垢版 |
2021/08/22(日) 09:04:18.34ID:0Cz6ueFz
Rustのメモリ安全性はボローチェッカーによって担保されているが、
Nimと比較してRustはタイプ量が多い事により限りなく低い生産性と
C++のような高い難読性、超巨大なバイナリ生成性能を兼ね備えています

Nimはバージョン1.5.1でRustのボローチェッカーに似た「View types」が実装されれば、
GC無しのView typesで参照の有効性を検証することによってメモリ安全性を保証しつつ
限りなく抑え込まれたタイプ量で高速化したCのソースコードを吐き出せます

Nimソースコード ==nimコンパイラ==> Cソースコード ==Cコンパイラ==> バイナリ

なので、nimコンパイラが通った時点でメモリ安全性が担保されませんか?

Nimの実験的特徴 バージョン1.5.1
http://nim-lang.github.io/Nim/manual_experimental.html

第二プログラミング言語として Rust はオススメしません Nim をやるのです
https://wolfbash.hateblo.jp/entry/2017/07/30/193412


Nimは限りなく抑え込まれたタイプ量で高い生産性とPythonのような高い可読性を実現し
ているにもかかわらず、高速なCのソースコードを吐き出せるのでC言語でリモートワーク
されている方は割り振られた仕事が早く終わっても終わってないふりをして怠けることができる

「怠け者とはこうあるべきだ!」と言うとても大事な事を Nim は我々に教えてくれます
2021/08/24(火) 01:56:30.85ID:wyjp1IJE
739ですがBFG使ったら一発で出来ました
2021/08/24(火) 17:06:56.87ID:D1ce07b5
BFGて何やと思ったらこんなツールあんのか
2021/08/25(水) 09:15:45.93ID:uZF/NHqm
BFG便利でしたよ

bfg replace-text password.txt myproject.git
でpassword.txtに指定されている文字列を置き換えできました

git grep $(git rev-list --all)
しても問題の文字列は綺麗になってました
2021/09/06(月) 15:09:21.27ID:Xpv1lInW
そろそろCVSからGitに移行しようとしています。

CVSからのリポジトリの移行の方法としてググってみたところ、cvs2git というのと、 git cvsimport ってのがあることが分かりました。
ところがcvs2gitはダウンロードしようとしてもサイトがもう閉鎖(?)されているようで入手できません。
cvsimportにしても、git-cvs の導入が必要で、自分の環境ではGitに合わせて2.27が必要そうなんだけど、やっぱり入手先が見つかりません。

誰かご存じの方いれば教えてください!
当方の環境とは、CentOS8にGit2.27.0を入れています。
2021/09/07(火) 08:38:42.77ID:cFJK6MoD
>>748
gitには今の最新のソースからリポジトリを一から作って
過去の変更履歴を参照したければcvsから見る、って運用ではダメなの?
2021/09/07(火) 09:42:25.03ID:l0FGYRQG
cvs→svn→gitの順番で変換するとか
751デフォルトの名無しさん
垢版 |
2021/09/07(火) 11:05:48.63ID:+uF9wCX0
特定のバージョンが必要なら一旦それ入れれば良いだけだろ
要は変換できる環境で変換してしまえばできたものを持ってくればそれで良いんだから
2021/09/07(火) 12:40:17.05ID:jsklYBqQ
おお、皆さんコメントありがとうございます。

>>749

CVSを無くすことが目的の一つでもあるんです。
で、変更履歴が見れることも必要です。

>>750

SVN経由ですか。
できるなら避けたいですが、ちょっと調べてみます。

>>751

その通りなんですが、CVSからの移行をサブシステムごとに行うので、それなりの期間(多分1年以上)変換できる環境を維持する必要があるんです。


いろいろありがとうございました。
全ての要件を満たしてというのは難しそうですね。
いただいた意見を参考にもうちょっと検討します。
2021/09/08(水) 12:26:53.74ID:H9wC4dw3
git cloneする時にsshのurl指定でBranchまで指定する事って出来るの?
-bとか使わないで
2021/09/11(土) 03:42:20.13ID:s/DqN445
>>753
それ出来ないと思う
海外サイトで@でブランチ指定とか/でブランチ指定とかでやれるって書いてあるサイトも見つけたけど
実際やって見ても全然上手くいかねぇ
2021/09/12(日) 00:33:12.39ID:cVqmkIqS
ガチでない用途、雑多スクリプト集とかは平気で半年コミットしてないのとかあるんですけど
ローカルディレクトリをスキャンして最終編集日 - 最終コミット日の数字が多い順に表示して
いい加減コミットするか編集内容破棄するかしろと警告してくれるツールとかないですか
2021/09/12(日) 06:50:28.66ID:09FXBLJb
面白いw

gitを使わずにディレクトリコピーでバージョン管理
https://mevius.5ch.net/test/read.cgi/tech/1631002816/
757デフォルトの名無しさん
垢版 |
2021/09/13(月) 17:58:18.08ID:ryD/6XDI
リモートのHEADをリモートのdevelopを参照させるようにしたいのですがやり方がさっぱりわかりません。
とても単純なことのように思えるのですがどの方法でやってもSourceTreeなどでクローンするとmaster参照してて困ってます。
origin/HEAD -> origin/master
教えてくださいお願いいたします。
758デフォルトの名無しさん
垢版 |
2021/09/13(月) 18:04:15.74ID:ryD/6XDI
こうなってます
.git]$ ls
COMMIT_EDITMSG HEAD branches description index logs packed-refs
FETCH_HEAD ORIG_HEAD config hooks info objects refs

というか僕何か勘違いしてるかも。
要はSourceTreeでクローンしたとき最新のコミットをHEADが参照してほしいのです。
そうしないと上に登ってってチェックアウトしないとだから。
2021/09/13(月) 19:13:06.94ID:q/DYxyOe
https://stackoverflow.com/questions/3301956/git-correct-way-to-change-active-branch-in-a-bare-repository

リモート側を変える
2021/09/17(金) 17:13:11.77ID:xXjVnzP+
未だにgit cloneで直接特定コミットのクローンが出来ないのはなぜだ
https://stackoverflow.com/questions/31278902/how-to-shallow-clone-a-specific-commit-with-depth-1
2021/09/17(金) 17:22:01.88ID:RINTXLOW
クローンに特定コミットもへったくれも無いだろ
2021/09/17(金) 18:11:47.26ID:J7t/c3vE
shallow clone(--depth 1)で特定コミットの指定な

git cloneにdepth指定はできるが
同時に指定できるのはタグやブランチ名だけで
SHA1で過去のコミット一つだけみたいな指定はできない

なぜかgit fetchではSHA1指定とdepthの組み合わせが出来るらしい
解せぬ
2021/09/22(水) 21:09:14.14ID:E7BplCoS
>>99
番号割り振ればできるだろ、知恵を絞れよ
何のために頭付いてるんだ、大学生にもなってなんだその頭の悪さは
gitのせいか、gitのせいでそんなに頭の悪い人間になってしまったんだな
ようし、gitを禁止します
2021/10/06(水) 17:21:18.09ID:k/56VNFd
ブランチ切り忘れてコミットしまくったあとに
過去にさかのぼってブランチを作成して
全部そこで作業していたことにしたいんだけど
どうしたらいいかな?
2021/10/06(水) 17:24:42.54ID:BSJj0FI1
今いる場所でブランチを作成
元のブランチはリセット
2021/10/06(水) 17:30:20.63ID:WIlNjQ3U
間違ってコミットしまくったブランチをまだpushしてないなら
コミットしまくった最後のコミットで新しいブランチ作って
間違ってコミットしまくったブランチの方を「git reset --hard origin/間違ったブランチ」とかすれば良いだろ?
2021/10/06(水) 17:30:33.39ID:WIlNjQ3U
かぶったわ
2021/10/10(日) 11:13:28.32ID:6H5ZAnm/
git bashでlsの実行結果が文字化けしたらコレ
export LANG=$(locale -uU)
2021/10/12(火) 02:46:28.00ID:En/nySAf
echo "export LANG=$(locale -uU)" > %USERPROFILE%\.bashrc
2021/10/12(火) 08:42:22.48ID:U1uDb369
おいおいおい
.bashrc消して平気なの?
2021/10/14(木) 13:19:16.57ID:kAsx6HNe
知っている方いたら教えてください。

CVSからGitに移行しようとしてます。
開発にはEclipseを使っていて、今はEclipseのプラグインでCVSと連携しています。
Git用にはEGitというプラグインが必要ということはググってわかりました。
EclipseでEGitを使う場合ローカルPCにGitの導入は別途必要ですか?

ネットで見た例だと、EGitで直接GitHubのリポジトリを指定してたんだけど、EGitを使えばリモートのリポジトリに直接アクセスすることになって、ローカルにリポジトリは作らない(なので、Gitの導入は不要)という理解であってますか?

事前に試せる環境がないため、経験者のかたがいれば教えてもらいたいです。
2021/10/14(木) 14:14:33.36ID:lQJgPnH3
>>771
gitはローカルリポジトリでコミットしてからリモートリポジトリにプッシュする二段階の仕組みなので、ローカルにgit「クライアント」は必要。(gitクライアントにローカルリポジトリを操作する機能が存在する)
2021/10/14(木) 14:23:38.11ID:lQJgPnH3
>>772
ちょっと補足。
Egitは使ったこと無いからは詳しく無いけど、解説とか見るとEgit+eclipseで一通りのgit操作はできるみたい。ただ、gitの仕組みとして(通常の利用方法だと)必ずローカルリポジトリを使うので、ローカルリポジトリ無しでリモートリポジトリを直接操作することはできない。

逆に、gitはリモートリポジトリ無しでローカルリポジトリのみの運用というのができるから、まずはそれで色々と試したら?
2021/10/14(木) 14:26:08.18ID:7VZCgDUW
>>771
Eclipseを使ったことはないが、こんなのを見つけた

https://www.casleyconsulting.co.jp/blog/engineer/223/
>EGit は Java の Git 実装である JGit を使って動きますので、別途 Git のコマンドラインツールなどを入れる必要はありません。

https://wiki.eclipse.org/EGit/FAQ
>What are the main differences between original Git and JGit(EGit)?
2021/10/14(木) 14:36:06.90ID:YcNpNoWq
Git v2.33.1
2021/10/14(木) 14:37:15.68ID:YcNpNoWq
>>771
egitは現在のeclipseに含まれています。
別途PCにgitのインストールは不要です。
2021/10/14(木) 14:58:54.76ID:kAsx6HNe
>>772,773,774,775,776

ああ、こんなすぐに親切なレスがいっぱい!!

> ローカルリポジトリ無しでリモートリポジトリを直接操作することはできない。
そうですよね。だからGit本体も必要じゃないかと思ってたんです。

>EGit は Java の Git 実装である JGit を使って動きますので、別途 Git のコマンドラインツールなどを入れる必要はありません。

Gitそのものではないけど、Gitと同じ動きをするJGitが使われているという事ですかね。
それでEclipse+Git関連の記事でもGitのインストールについて特に触れる必要がないと。

で、今時のElipseならEGitもついてくるんですね。Pleiadesのサイト見ましたが、確かにEGitもパッケージされてますね。

JGitでググってみたら紹介してくれたwikipedia以外にも日本語で紹介/解説しているサイトがいろいあるみたいなので、まずはそちらで勉強してみます。

モヤっとしてたのがスッキリしました。

またここで追加質問しちゃうかもしれませんがよろしくお願いします。
2021/10/14(木) 23:57:06.50ID:xwnJS6sg
どういたしまして!!!!
全部俺
2021/10/17(日) 09:58:04.13ID:Q0jShLZX
個人で開発してる場合に、subversionと比較してGitのほうが優れていることってどんなことがありますか?
Git使ってみてるんですが、ローカルリポジトリとリモートリポジトリに別れてるのが面倒くさく感じてしまうんです。
2021/10/17(日) 10:38:37.55ID:8eKBj5MQ
ローカルリポジトリだけで出来る
2021/10/17(日) 13:11:42.80ID:Zl984gEM
svnはマージがアホ
2021/10/17(日) 13:55:53.46ID:2tMovdDG
個人でやってるならリモートリポジトリを使う必要ないよ
別の場所にバックアップしたいときだけ稀にプッシュしておいてもいいかな程度
Gitはブランチ開発が圧倒的に便利
次バージョンの開発をしながら、ヤバいバグを見つけたらスイッチして現行リリースにパッチを当てるなんて作業がやりやすい
コミット等の操作を間違えたときの復元方法も充実してるからガンガンコミットするスタイルが身についてロスがない
あまりにも小規模な開発しかしてないならGitに移行したところで便利さに気付かないかもね
2021/10/17(日) 14:17:13.86ID:4gFBmPmU
svnはもう使わなくなってから何年も立つけど、ローカルブランチ作るのに全コピーが発生する問題は改善されたん?
gitは瞬間的にローカルブランチ作れることが、当時、最大のメリットだと個人的には感じてたけど
2021/10/17(日) 14:18:42.77ID:4gFBmPmU
あ、ローカルって書いちゃったけどリモートも同様
2021/10/17(日) 15:15:03.36ID:2tMovdDG
svnも物理コピーしてるわけじゃなくポインタをコピーしてるだけだからそこは別にデメリットではないと思う
2021/10/17(日) 15:26:46.35ID:4gFBmPmU
じゃあそこは改善されたんだね
2021/10/17(日) 15:29:30.74ID:QJpjjZiJ
ローカルで何でもできるのとrebaseできるのが大きいな。
2021/10/17(日) 16:36:16.01ID:2tMovdDG
svnのコピーは最初からそういう設計思想だよ
強いて言うならCVSに対しての改善点
https://subversion.apache.org/features.html
2021/10/20(水) 03:48:00.82ID:fM0zKRFM
--filter=blob:noneでcloneしたレポで久しぶりにpullすると

remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 1 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (1/1), 334 bytes | 334.00 KiB/s, done.
remote: Enumerating objects: 1, done.
remote: Counting objects: 100% (1/1), done.
remote: Total 1 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (1/1), 413 bytes | 413.00 KiB/s, done.

が延々続く
.git/configのpromiser=trueとpartialclonefilter=blob:noneを消すと秒で終わる
これは仕様?
2021/10/31(日) 11:33:48.76ID:08bIR5oT
Git v2.34.0-rc0
2021/11/04(木) 09:59:24.05ID:RuoxMXd8
Git v2.34.0-rc1
2021/11/07(日) 11:40:46.01ID:khCyKtci
MSに握られたくないなら、cvs か svn
2021/11/07(日) 11:42:30.89ID:QVBUkb8D
>>792
git使うとmsに握られるというのが意味不明なんだが
2021/11/07(日) 12:37:05.54ID:UQcl36Q5
gitとgithubの区別がつかない人がMSアレルギーをこじらせている姿はもう見飽きた
情報のアップデートをできずに屈折した持論を垂れ流すから老害の部類かな
795デフォルトの名無しさん
垢版 |
2021/11/08(月) 21:23:48.94ID:Tlvj8hhG
それはもはやチテキショウ害なのでは
796デフォルトの名無しさん
垢版 |
2021/11/11(木) 10:05:05.74ID:SpIFedoW
わろす
2021/11/16(火) 08:19:16.49ID:nj7ybZ5p
Git v2.34.0
2021/11/25(木) 08:42:00.93ID:+EmkPByH
Git v2.34.1
2021/11/25(木) 12:21:37.68ID:F3lCPX8r
すぐキレるLinusも若手から老害と言われてるんだろうな。
2021/11/27(土) 18:33:16.18ID:EO01MlFX
プライベートなリポジトリをローカルにcloneしようとしたら
重いファイル(15MB程度)だけ弾かれる・・どうして・・
ちなみに学習済みの.h5ファイル
何か制限緩和するような手続きしないといけないのかな
(ただ、google経由だと全部cloneできた)
全然わからん・・
2021/11/30(火) 21:35:19.46ID:a/ltCSu7
10年程昔からの自作のフリーウェアを git で公開しようとしているんだけど
あまり昔の version はもう環境が変わっていて動かない
動くものだけを公開した方が良いのかな
それとも最新のものだけにした方がいいですか
2021/11/30(火) 21:59:48.42ID:29wtvv9O
好きにしろ
2021/11/30(火) 22:33:45.81ID:a/ltCSu7
わかりました
どうも
2021/12/09(木) 01:56:53.52ID:8VFa9Xh4
gitの変更履歴より細かい単位で変更を戻したいとき、うまい方法はありますかね。
例えば一つのファイルの中で3つの関数を変更してコミットした後、1つの関数だけ
元に戻したくなった場合などに。
805デフォルトの名無しさん
垢版 |
2021/12/09(木) 06:55:22.90ID:CTJ8MnG2
>>804
その関数を変更した後にコミット
2021/12/09(木) 07:23:14.89ID:nPf7xXRe
>>804
git rebase

1
2
3 ← ここで止める
4
5

1
2
3.1
3.2
3.3 ← こんな感じにコミット

git rebase --continue でリベース完了


あと慣れたら 2つの関数だけコミットして、
1つは戻ればいい
2021/12/09(木) 08:05:36.93ID:Rbrjprb1
>>804
pushする前ならcommit amend して修正してからrebase。
push後なら新たにcommit。
2021/12/09(木) 08:13:38.11ID:nPf7xXRe
あめんどは、あ、めんどう〜だ、なぁ〜
2021/12/09(木) 08:15:15.22ID:ETLEJYpI
求めてるのはadd -pじゃないのかな
2021/12/09(木) 08:22:24.08ID:zGaqleE8
>>807
わかりづらいな……試してないけど
…56 3関数commit abc……master
  ここをchechout -b mod

…56 3関数commit abc……master
[mod:2関数commit]
元に戻してcommit amend

…56 3関数commit abc……
mod abc……[master]
masterをchechoutしてmodにrebase

ただし、コミットを他人と共有済みなら混乱の元なので禁止。
2021/12/09(木) 08:58:11.54ID:Dni9SPWj
>>804
履歴改変をするわけじゃないんだよね?それならば、
git revert -n でindexに三つの関数の修正を打ち消す修正を持ってきて、git reset -p でindexの余分な修正を取り除いて、git commit
812804
垢版 |
2021/12/09(木) 09:39:57.87ID:rmYbkO4s
どうも>>804です。プッシュはしてませんのでアメンドないしリセットとしてやり直すことは
可能です(よね?)

なんというか、作業方法なども含めてキレイ&楽にやる方法はどんな感じかなと。
例えばそもそも論だと、最初からこういう場合に備えてコミットを関数1個毎とか細かくしておく?
アメンドないしリセットしてやり直す場合も、どうやって変更を用意しようかなと... もう一回
同じ変更を入力したくはないし危険... とかなんとか。
2021/12/09(木) 10:00:49.33ID:z12/cdNE
>>812
だから何をしたいのかはっきりしろ
pushしてないのは分かった
pushしてないローカルな履歴を改変したいのか?
pushしてないローカルな履歴に関数の修整を無効化するコミットを追加したいのか?
2021/12/09(木) 10:05:24.50ID:Dni9SPWj
>>812
変更の用意はrevert -nとreset -pでいいだろ
この2つを使えば自分でコードを入力する必要は無い
2021/12/09(木) 11:35:29.86ID:nPf7xXRe
>>812
だから>>806だって
rebaseで過去の歴史の途中に戻って
そこでコミットを分けるなりして
再び歴史を再生する
2021/12/09(木) 11:36:08.99ID:nPf7xXRe
正確には git rebase -i な
817デフォルトの名無しさん
垢版 |
2021/12/09(木) 13:53:35.69ID:CTJ8MnG2
もう面倒くさいから一か所もどしましたってコミットしたらいいやん
2021/12/09(木) 14:15:33.20ID:SnlJ6hdA
rebaseは悪い文化
2021/12/09(木) 14:50:31.70ID:nPf7xXRe
>>818
必要なのは結果だけ
お前が試行錯誤した後なんかどうでもいい
2021/12/09(木) 14:51:34.29ID:Dni9SPWj
>>817
そのコミットを簡単に作る方法が知りたいのだと思う
2021/12/09(木) 15:05:38.49ID:FiTzWudg
>>820
Winmergeをdiffツールに設定して
git windiff HEAD^^^
で戻してcommitだな俺なら
2021/12/09(木) 15:28:07.01ID:1oFDwxyl
>>812
そもそも論の部分に回答すると、意思決定の基本は発生率とコストを掛け合わせた期待値次第
いちいち細分化しすぎてもYAGNIの法則で言われるような無駄が多くなるだけ
でも後から部分的に採用する可能性もそれなりにあるのであれば分けてコミットしておくことでコストを抑えられる可能性が増す
2021/12/09(木) 18:55:14.96ID:lg/9Dj4Y
>>812
そもそも論で言うなら、追加・修正する機能ごとにブランチを切って、完成したブランチを別々にコミットすればいい。gitはブランチが軽量という強みもあるし。

機能をマージするときにコンフリクトを修正する面倒くささはあるけど、見通しは良くなる。
2021/12/09(木) 20:50:07.62ID:ejbJEiiI
コミットの粒度の話じゃないの?
2021/12/09(木) 22:51:55.36ID:EKItVGZE
追えてないけど、どれか。
・そもそもコミットきれいにしても結局使わないから作り直さない
・頻繁にコンパイル?して頻繁にコミットしておく
・もう最初から作り直せよ派: git reset $(git merge-base origin/master) → 気に入るコミット作っていく。
・ツールに関数単位で切り出させて、差分をうまいことやる。VisualStudioならこのメソッドをクラス化、みたいなやつがあったような。それ以外は知らん。
2021/12/09(木) 23:49:30.01ID:Fvd6f3uE
コミットをセーブ機能だと思うからだめなんだよ
袋だと思え袋
コードを書くたびに適切な袋に入れろ
2021/12/10(金) 11:49:29.41ID:5non8kx0
>>825
・追加機能ごとにブランチ切る
も追加で。
2021/12/10(金) 15:18:37.19ID:dSCEiiiB
最近では、機能ブランチは問題を先送りにしているだけだという批判もある
機能ブランチはすぐにリリースして消せ、作りかけならフィーチャートグルで蓋をしろというスタイルもあるぞ
それは一理あって、実際複数のチームでそれぞれフィーチャーブランチを担当してリリース時に一気にマージするスタイルの大規模サービス開発やってたときには
マージの失敗でトラブルが起こることは日常茶飯事だったね
2021/12/11(土) 00:15:15.28ID:L5jxStGt
それは機能ブランチが悪って話じゃなくて、機能ブランチをやたらと長期間分離しておくのが悪って話じゃね
何事もトレードオフだから機能がでかいならイテレーションを小さく取るし、リリースギリギリまでマージしなければ泣きを見るので頃合いを見て合流してテスト始める
互いに影響し合う部分についてはコミュニケーション取りつつ適宜ソースをやり取りしろというのがGitの指針だったと思うし
2022/01/12(水) 10:21:41.75ID:mFIs9bfU
Git v2.35.0-rc0
2022/01/12(水) 19:57:57.27ID:IbSx3jpA
こういうコミットをしてたとして

$ git log --oneline

commit_id_5 やっぱり××を復活させる(2021/05/01)
commit_id_4 □□を修正(2021/04/01)
commit_id_3 ××を削除(2021/03/01)
commit_id_2 △△を修正(2021/02/01)
commit_id_1 〇〇を修正(2021/01/01)


「commit_id_3 と commit_id_5 を消して、コミットログをきれいにした状態でリモートブランチにpushする」というようなことは可能ですか?
こういう場合にgit rebaseが使われるんですかね?
2022/01/12(水) 21:08:30.47ID:et9b++qr
>>831
はい。そうです。
2022/01/12(水) 21:16:41.65ID:IbSx3jpA
>>832
ありがとうございます

てか真上に同じような質問ありましたね…
2022/01/15(土) 22:30:31.28ID:mgu84OGw
Git v2.35.0-rc1
2022/01/16(日) 00:47:01.30ID:hYWYL0RZ
>>831
俺は作りながら片付ける

作ってる途中で、この修正はこのコミットに含めよう
などと考えならが小さくコミットし
適度なタイミングでrebaseする
2022/01/17(月) 06:52:31.08ID:pA35C6jo
>>831
別ブランチでcommitして、masterにまとめてmergeしてpushする、って方法もあるよ
これだとrebaseは不要
2022/01/23(日) 09:44:11.74ID:6R0k9GT3
gitもcvs,svnと同じ運命をたどるだろう
私の企業は次世代バージョン管理システムfossilに切り替えました
2022/01/24(月) 13:46:51.63ID:2I6HNHFB
化石?
2022/01/24(月) 15:13:36.64ID:TB1mn4oZ
次世代って書いてるけどGitやMercurialと同期だね
統合が特徴みたいだけど、少なくとも統合指向=先進的というのは言えない
昔のMSや古いエンタープライズシステムが通ってきた道
2022/01/24(月) 20:03:13.29ID:T/bW8QxB
sqlite以外に使ってるプロジェクトあるの?
2022/01/25(火) 09:41:06.99ID:lI80daK7
Git v2.35.0
2022/01/27(木) 23:05:55.20ID:5JD4ntnW
「Git 2.35」が公開
https://mag.osdn.jp/22/01/26/225600
2022/01/29(土) 22:24:24.64ID:DKHpcK/K
Git v2.35.1
2022/02/04(金) 16:36:05.63ID:57NC5giI
Git 日本語翻訳チーム
https://github.com/vargaspeniel/git-l10n-ja
845デフォルトの名無しさん
垢版 |
2022/02/04(金) 16:53:15.37ID:ldQUlQ88
>>844
gitを業務で使われている方は翻訳に参加してください
846デフォルトの名無しさん
垢版 |
2022/02/08(火) 12:18:02.21ID:nuxork7Z
ウクライナのGitLabがやばいな
2022/03/16(水) 08:10:03.07ID:3iPp8Jr+
ゲイツもgit 作者も ワクチン派=ナチス
2022/03/20(日) 18:56:58.51ID:oCBKTdlK
すみません、git pushをこっそりキャンセルしたく
$ git reset --hard HEAD^; git push -f origin HEAD をしたのですが
To prevent you from losing history, non-fast-forward updates were rejected.
と言われてpushが失敗します。
もしかしてリポジトリの設定でこういう強制pushが禁止されていたりしますかね?
2022/03/20(日) 20:08:48.92ID:pStA9jik
サーバー側の receive.denyNonFastForwards の設定で禁止されてる
2022/03/20(日) 20:17:36.65ID:XwFj+GPH
>>848
git push --delete 〜 でリモートブランチ消してpushしなおせばまだワンチャンある
2022/03/22(火) 00:18:15.54ID:G4hvFEyv
強制pushまだ禁じてるところあるんやね
2022/03/22(火) 08:24:32.98ID:OaCGWLhd
馬鹿がいるんだから当たり前やろ
2022/03/22(火) 15:19:11.35ID:Oh3PkPXA
ブランチにアクセス権を設定できるサーバなら、メインのブランチにはプルリクエスト処理する人だけがアクセス可能にして、強制push禁止と強制ブランチ削除禁止の設定はいらん気もするね
でも本家gitにはブランチ単位のアクセス権は無いよね確か
2022/03/22(火) 18:39:39.96ID:GWInnMJp
>>848
プロジェクトメンバーに周知すればいいんでないの?
2022/03/25(金) 05:31:45.01ID:VoO+G8uZ
こっそりと周知、ってのは難易度高いな
2022/03/25(金) 07:14:27.74ID:iMzzdMMk
こっそりする必要はないでしょ
2022/03/30(水) 21:00:41.82ID:pZIqlelO
pullする前にどれが変更されているか知ることは出来ないの
2022/03/30(水) 21:03:54.04ID:sFfsK7BI
git ls-remote
2022/03/30(水) 21:50:58.83ID:sIJSREW7
fetch
2022/04/01(金) 00:22:46.86ID:46G1puQR
totoiesegit使ってんですけ、コミットしただけでチェックアイコンに変わるんで
pushし忘れることが多いんですけど、区別できないんですか?
2022/04/01(金) 04:32:18.73ID:w7Dm7PZW
>>860
うん
2022/04/01(金) 05:21:04.10ID:vPqr4MnO
尊いーぜgit
ごめん言ってみただけ
2022/04/01(金) 08:03:05.39ID:4o646iU1
Gitsだぜ
すいもあまいもー
2022/04/01(金) 10:30:17.09ID:L8R+vRlu
トータス使うよりSoucetree使う
2022/04/02(土) 16:17:20.40ID:y/uyzFp6
リポジトリにあさんが変更をプッシュしたことをいさんはどうやって知れるのですか?
あさんからいさんへメールなりで連絡?
いさんがフェッチなり、プルすれば分かるんですが・・・
2022/04/02(土) 16:43:53.49ID:66/F4m6m
>>865
本来gitで想定されている正しい使い方としてはメールで連絡
今時の普通のチームならGitHubでpull requestを出す
2022/04/02(土) 16:46:06.34ID:eQjRdGtS
共有するリポジトリの置き場所に素のgitを使ってない限り、何らかの通知する仕組みはあるだろ?
素のgitでもスクリプト仕込めばできるけど面倒だな「git hooks 通知」でぐぐれ
2022/04/02(土) 17:04:36.48ID:y/uyzFp6
totoiesSVNの時はフォルダのアイコンが!に変わるから
logを表示させればだれが、どこを変更したか分かるけど
gitの場合、アイコン変わっていないから何時フェッチ、プルすればいいかわからない

こういうもの?
2022/04/02(土) 17:20:12.10ID:66/F4m6m
>>868
Gitでは、同じブランチの上で複数人が作業することは普通しない
2022/04/02(土) 17:22:26.59ID:a7IS8KL2
同じことだよ
TortoiseSVNを使っていても他人の変更が勝手に降ってくることはないぞ
これまでほぼ無意識にときどき更新コマンドを実行してたんだろ
Gitでもそれと同じように無意識にときどきフェッチすればいい
リポジトリが新しかったりローカルが汚れているときにコンソールが赤とか黄色とかになる環境を作っておけばさらに分かりやすくなる
2022/04/02(土) 17:33:56.91ID:y/uyzFp6
>>870
その「更新コマンド」を実行すべきタイミングが分からないんですよ
とりあえずプルすれば、変更されていれば更新されるけど
変更されていなければ更新されない

いちいちメールかなにかで連絡もらえれば、プルするから実害はないんだけど
2022/04/02(土) 17:37:22.85ID:OkBLvXjb
git push したらvpsのソースが更新されるようにしたのに、ヒミツ鍵でログインするタイプのvpsに変えたらgit pushでエラーが出るようになったわ
2022/04/02(土) 17:50:45.78ID:ofyuLHc/
>>871
気になった時fetchすりゃいいんだよ。
2022/04/02(土) 18:18:39.57ID:y/uyzFp6
>>873
1分おきにfetchするアルバイト雇ったほうが工数的にはいいですね
2022/04/02(土) 23:09:26.57ID:ofyuLHc/
変な質問だと思ったがネタだったか。四ね。
2022/04/03(日) 00:33:31.34ID:TSy6KLqO
git reflogを時間指定して実行すると上手くログが取得できないんだが、自分だけ?
git logは普通に動く
2022/04/03(日) 09:55:27.42ID:sNbs7j4z
>>875
釣られましたねw
2022/04/03(日) 11:58:15.04ID:YOg/TQMm
気になったらエッチとな?
2022/04/04(月) 18:26:27.90ID:uBqMrhkR
>>876
reflogで表示される時間はその操作が行われた時間ではなくてその操作の結果のHEADのコミットの時間で、reflogの--afterとかによる表示範囲判定は操作が行われた時間に基づいて判定されるぽいから、変な風に感じる?
HEADのコミットの時間でなくて操作した時間をreflogで表示する方法はあるのかな
2022/04/05(火) 06:52:00.45ID:HDipRGT6
>>871
俺は開発ブランチにcommitした後にmasterをfetchしてる
で、マージすべき内容ならmergeする
2022/04/05(火) 06:57:58.21ID:qPBzPdZO
>>880
こういうのが居ると無駄なマージ履歴が残る。
コミットまたはプッシュする前にプルしてマージ完了した状態でプルするルールにしてる。
2022/04/05(火) 06:58:45.84ID:qPBzPdZO
×プルするルール
◯プッシュするルール
2022/04/05(火) 07:02:20.74ID:HDipRGT6
>>881
これはfetchかpullのタイミングの話であって、それとこれとは別の話だよ
それはpull request用のブランチにsquashなりすれば解決することだろ
2022/04/05(火) 07:09:17.66ID:LSxkXP/U
squashするとまた意味が変わってくる
無駄なマージコミットを気にするならpull --rebaseするといい
2022/04/05(火) 08:27:03.94ID:Tv9hyPpM
内容ごとにブランチを切って、実装完了後にマージしたほうがいい。
こまめにマージする必要あるけど。
2022/04/05(火) 08:37:26.26ID:VZWFnuGC
rebaseすると途中のコミットが見たことないスナップショットに化けるから諦めてmergeする派
2022/04/05(火) 10:22:46.93ID:Ti8ZULSh
どうせマージコミットしか見ないからどうでもいいわ
2022/04/05(火) 12:59:38.64ID:HRL2Dhl7
Git v2.36.0-rc0
2022/04/10(日) 12:29:54.84ID:/cWGM6C3
Git v2.36.0-rc1
890デフォルトの名無しさん
垢版 |
2022/04/10(日) 12:43:00.27ID:gTtQQEaq
今からGitを始めます初心者の質問です。

Gitに設定するユーザー名、メールアドレスと
GitHubのアカウント作成で指定するユーザー名、メールアドレスは
同じものでないといけないのでしょうか?
2022/04/10(日) 23:00:07.32ID:TJ08CsNt
ネットでgitをググると
コミットしたらプッシュっする癖をつけようなんて見かけるけど
それなら意味なくね
2022/04/10(日) 23:03:53.52ID:OSeViOAV
>>891
なんの意味?
2022/04/10(日) 23:58:14.27ID:ZMrXNR+Y
分散型リポジトリの意味かな?

つーかcommit→pushの流れが癖になるとまずいぞ

develop or masterで作業してるかfeatureブランチをpushすることになる
2022/04/11(月) 00:51:42.12ID:1i0W5uZP
>>890
同じにしないといけない
違ってるとGitHub上でコミットとユーザーが紐付かない
なおGitHubのメールアドレスは複数設定できる
2022/04/11(月) 01:06:26.04ID:Ip9E4gkF
いつプルすべきなのかさっぱり分からないんだけど
いちいちフェッチして更新されてたらプルなの?
svnの時はフォルダのアイコンが変わるから、すぐ分かったんだけど
gitはめんどくさくてしかたねー
2022/04/11(月) 01:21:42.99ID:IXb9iAbb
>>895
フォルダーのアイコンが変わるのはsvnの機能ではないだろw
2022/04/11(月) 01:26:34.08ID:FKgiTkDa
ちんちんシュッ!シュッ!シュッ!
2022/04/11(月) 03:26:40.92ID:UsZcfkXO
>>895
そもそもsvnの挙動を勘違いしてんじゃん
899890
垢版 |
2022/04/11(月) 07:24:40.88ID:pyEhSslH
>>894
レスありがとうございます。

そうしますと、
複数のメンバーでGitHubの一つのアカウント(リポジトリ)を共有する時の
各メンバーを識別するIDは、どこで指定するのでしょうか?
2022/04/11(月) 07:35:11.19ID:IXb9iAbb
どんなメールアドレスでもpushできるよ
2022/04/11(月) 08:54:42.93ID:Ip9E4gkF
>>896
>>898

本筋には触れずに、否定をするワラ
2022/04/11(月) 09:14:16.92ID:1i0W5uZP
>>899
関係ない。各自が自分のGitHub userに設定済みのメールアドレスでコミットすればいい。
GitHub上で制御できるのは「誰がリポジトリにpushできるか」までで、>>900も言ってるがどんなメールアドレスのコミットが含まれていてもpushできる。
たまたまコミットのメールアドレスがGitHub userと同じならGitHub上でそのユーザーがコミットしたように見えるというただそれだけのこと。
2022/04/11(月) 14:06:10.85ID:MP0q4WMO
>>899
githubでプライベートリポジトリを複数ユーザで共有する場合は、共有するユーザみんな別々のアカウント作って、誰かが作ったレポジトリに他のユーザを招待して、pushするときにはそれぞれ各ユーザのアカウントで認証された状態ですることになるよね
だから上でもだれか言ってるように、コミットのメールアドレスは認証で使われるわけじゃないから、どんなメールアドレスでもpushできる

しかし、コミットのメールアドレスは重要でないというわけでもなくて、コミット一覧とか表示させたときにコミットのメールアドレスに基づいてユーザ名とか写真を表示したりするので、githubのアカウントに登録してあるメールアドレスをgitの方にも登録しておくほうが良い
2022/04/11(月) 20:59:30.97ID:voKtAiO9
>>901
少し上のレスを見ればわかるけど、その質問は「また釣りか」と思われてまともなレスは付かない。
2022/04/13(水) 01:15:32.19ID:TZC3qPMK
とある本の不要になったブランチを削除する手順で
@リモートリポジトリの消したいブランチを削除
ASourcetreeのフェッチのリモートで消えた追跡ブランチを消去(Prune)
BSourcetreeの消したいローカルブランチを右クリックして削除
とありますが、@がリモートリポジトリのブランチを削除、
Bがローカルのそれだとすると
Aの手順にはどんな意味があるのでしょうか
2022/04/13(水) 02:12:16.50ID:eS/flNB4
ブランチには@リモートブランチ A(リモート)追跡ブランチ Bローカルブランチの3種類がある
文脈によってこれらはしばしば混同されるので気をつけていないと混乱する
@はサーバー側にあり、ABはクライアント側にある
Aは常に@のコピーで、フェッチするたびに@の最新と同期される
だからネットワークに繋がっていなくてもいつでもリモートのログが見れる
「リモートブランチのログを見る」というとき、正確には@ではなくAのログを見る行為を指す
フェッチしていなければ@ABが全て別のコミットを指すこともある
Aを消し忘れると、サーバー側のブランチは削除済みなのに、そのクライアントからはまだリモートブランチが消えていないように見える
2022/04/13(水) 03:53:52.80ID:TZC3qPMK
>>906
詳しいご説明ありがとうございます!
2022/04/13(水) 21:31:02.16ID:Pux5Tg8M
Git v2.35.2
2022/04/13(水) 21:31:48.03ID:Pux5Tg8M
Git v2.36.0-rc2
2022/04/14(木) 12:56:35.38ID:DFKHhlAT
Git v2.35.3
2022/04/14(木) 14:21:34.39ID:yss7HMyT
Git v2.36.0-rc3
2022/04/14(木) 14:56:42.75ID:5RufjXVH
「Git for Windows」のシェルが「bash 4.4」から「bash 5.1」へ 〜Vista対応も終了
https://forest.watch.impress.co.jp/docs/news/1402/011/

Windowsで使ってる人(居る?)注意な
2022/04/14(木) 21:19:31.45ID:b6yuiJ9V
居る?ってどういう意味?
2022/04/14(木) 21:40:37.08ID:8uWvcswO
おるかーー?
よーし、おるな!
2022/04/14(木) 22:20:35.99ID:iEpp8WdZ
折るかーー?
よーし、折るな!ボキッ
2022/04/14(木) 22:52:34.66ID:3PT3emFr
ここやでトントン
2022/04/14(木) 23:33:30.30ID:UyRHFpqd
まさかMacなんて使ってんの?
2022/04/15(金) 00:07:36.02ID:ssUN7i/L
>>917
Windows Mac Linux
全部使ってる
2022/04/15(金) 00:18:20.61ID:zUdxudaZ
>>918
いいなぁ
2022/04/15(金) 18:54:21.17ID:C9bHMdiD
GUIのGitクライアントは面倒だよ
なんて言ってる先輩いるだけど
ほとんどコードは書けなくて、コピペしてそのコピペしたコードの意味も分かってない

そんなので、いくらgitが使えても意味なくね
2022/04/15(金) 19:37:30.49ID:h1UMySwV
>>920
何が言いたいのがわからんが、コマンドラインでGitが使いこなせなくて悔しいの?
コードが書けるのとGitを使いこなせるかどうかは直接は関係無いし、コピペとGitを使いこなして目的が達成できてるのならばそれは意味があることだよ
2022/04/15(金) 20:07:56.61ID:PiHpabQE
CUIなら同じことを繰り返したり再現するのも容易いし、スクリプトに組み込んで自動化したり本番処理を分けたり他人に渡すのも容易。
GUIも便利だけどCUIにもたくさんメリットがあるのよ
2022/04/15(金) 21:12:39.95ID:u9UTRnBL
僕も全くプログラム書けないけど
フリーランスのGit屋だぞ
2022/04/15(金) 21:35:15.77ID:0DFy/IGY
GUIのgit使おうとしたけどわけわからんくて投げたわ

やっぱコマンドラインよ
2022/04/15(金) 23:40:55.23ID:yVftr7r6
GUIもせめて自動実行マクロがあればマシなんだけどな。
OfficeのVBAみたいなやつ。
2022/04/15(金) 23:52:35.13ID:ssUN7i/L
>>925
それgitコマンド使ったバッチファイルやスクリプトでよくね?
2022/04/16(土) 00:02:24.87ID:gsNTgUrB
コマンドを打ってるだけで仕事してるフリしてる奴いるわ
たかがステージングするのに何分かかってんだよ
それならGUI使ったほうがグイっと終わるだろ
2022/04/16(土) 00:03:11.07ID:R5AqqekO
gitkだっけ
2022/04/16(土) 00:17:37.39ID:pQ5jcgqa
CUIだろうとGUIだろうと、どのファイルのどの行をコミットに含めるかは慎重に選べ
ゴミみたいなコミット作ってんじゃねぇ
2022/04/16(土) 01:06:24.34ID:dfz3lFMa
>>920
gitを否定しようと思ったけどできなかったんだよね?
だからgitを使ってる人を変わりに叩いて
自己満足してるでしょ?バレバレw
2022/04/16(土) 01:08:00.12ID:dfz3lFMa
>>927
CUIのほうがGUIよりも快適だからCUIを使ってるんだよ
文字使えば相手に意味を伝えられるのに
絵を書いて伝えたいなんて思わないでしょ?
2022/04/16(土) 02:42:04.04ID:Cn08VBkB
GUIで確認してCUIで実行するのが一番効率良くね?
GUIは一覧性が高いが、作業効率はCUIの方が良い
2022/04/16(土) 03:09:40.28ID:+A5PZLb9
st=status -s とか
ll=log --date-order --oneline --graphとか
alias設定すれば一覧性で困ることはないぞ
2022/04/16(土) 03:40:01.37ID:gsNTgUrB
それくらいのタイプ量ならエイリアス設定する方が面倒だわ
2022/04/16(土) 03:55:07.91ID:MmeJHHfa
道具の方にこだわってる奴って本業は全然できない奴多いよな
この5番、30万だぞってイキってて100程度で回ってるガキ多すぎ宿題
2022/04/16(土) 05:50:52.44ID:pQ5jcgqa
道具にこだわらないからCUIでgitなんだろ
GUIのはOSによっては使えない場合もあるしいちいち覚えるの面倒だし
CUIなら設定ファイルちょろっとコピーすればいつもと同じ感覚で使えるし
git使わないって選択肢はもう無しな
gitはもう道具というより共通フォーマットだ
2022/04/16(土) 05:56:08.79ID:pQ5jcgqa
>>933
その辺は頻繁に使うんでエイリアスじゃなくて3〜4文字のシェル関数だわ
とくにgit logの方は--pretty=format:〜も指定したいんで手打ちはありえん
2022/04/16(土) 10:28:49.22ID:pKuJ7S+c
基本的にCUI派だけどログ出していくつかdiffを見るみたいな操作はGUI使うなあ
これをCUIで高効率でやる手段があるなら知りたい
2022/04/16(土) 11:07:45.89ID:gsNTgUrB
>>936
CUIかGUIかなんて問題なのか
どっちでも同じじゃん

やっぱりコマンドをタイプしてる方がカッコいいと思うタイプ?w
2022/04/16(土) 11:10:09.03ID:smzxZJvo
>>939
コマンドをタイプするのはかっこいいと思ってしまったから
お前はそんな書き込みをしたんだよね?
2022/04/16(土) 11:12:54.01ID:gsNTgUrB
いや俺はvscode一択
2022/04/16(土) 11:16:03.64ID:qSyY7sm9
あるある

コマンドを使ってるカッコイイと勘違い
Linuxを使ってるカッコイイと勘違い
ダークテーマを使ってるカッコイイと勘違い
vi emacsを使ってるカッコイイと勘違い
2022/04/16(土) 12:28:47.16ID:NWlFBoGL
TortoiseGitしか使ってなくてすいません
2022/04/16(土) 12:44:01.14ID:gsNTgUrB
カコイイ
945デフォルトの名無しさん
垢版 |
2022/04/18(月) 20:18:29.80ID:lvtGJgyq
CUIかGUIかなんてどーでも良いことには一切こだわらず
俺にとって使いやすい方法を採用してる俺様カコイイ
2022/04/19(火) 12:06:40.00ID:+aQMqQh4
>>942
そのとおり、何かを使っているからカッコイイのではない
俺だからカッコいいのだ
2022/04/19(火) 17:55:42.79ID:2NjgmpR8
Git v2.36.0
2022/04/19(火) 23:15:59.06ID:fQcWHs5l
プルリクって要る?
製品名出せば誰でも知ってるソフトの開発でも
目クラマージだぞ
正直、いちいちプルリク出すくらいなら、そっちでマージしてほしい
権限考え直してほしいわ
2022/04/19(火) 23:29:05.23ID:CsQiBOLb
>>948
gitにそんな機能はありません
2022/04/20(水) 15:44:31.97ID:9cmYpPww
エビル(evil)マージ
2022/04/20(水) 18:45:19.22ID:aTy1WRu8
アークマージって要る?メリットは何ですか?
→ イオナズンが使えます
2022/04/21(木) 15:42:47.36ID:Ex423fK8
先輩「CUIのほうがgitの機能をすべて使えるからいいよ」

おれ「pullするときにディレクトリを指定するのは、どんなコマンドを実行すればいいですか?」

先輩「git pullしかやったことないから分からない」

おれ「・・・」
2022/04/21(木) 17:41:01.53ID:haKrn/PJ
>>952
別に先輩おかしくないけど
2022/04/21(木) 18:49:26.99ID:BFaC4LhO
ディレクトリを指定してpullする機能なんて無いし
pullに引数指定しなければいけないような状況はfetchとmergeを使うから、おれもgit pullの引数有りの挙動は把握してない
2022/04/21(木) 18:55:10.99ID:Ex423fK8
おまえらって本質がわかないのか?

pullかどうかなんてのは本質でない

git hoge

でも論理は同じ
2022/04/21(木) 19:16:46.07ID:KtzHzoax
ちょっと例えがアレだったね
シニカルなことを表現するときはバシッと一発で決めてかないとこういう残念な雰囲気になる
それもまた世のことわり
2022/04/21(木) 19:27:25.31ID:BFaC4LhO
CUIの方がgitの機能がすべて使えるのは正しい
CUIで使う人が全てのコマンドのオプションを知ってる必要なんてない

CUIで使うのを難しく考え過ぎじゃないかな?
どのgitコマンドで何ができるかを把握できてれば十分で、細かい指定は大雑把に覚えてればいいよ
良く使う操作は短いエイリアスやシェル関数にしてしまうし、普段あまりやらない操作はコピペでもいいし、man見て調べればいいし、いまのシェルは履歴も補完も使いやすいからgitの長いオプション名なんて覚える必要も無い
2022/04/21(木) 19:27:50.71ID:BFaC4LhO
別にCUI/GUIに限らないけど、どのgitコマンドで何ができるか何が起こるかを理解できているのが重要
gitのコマンドは後戻りできるものが多くて、その方法を理解できてると楽に使える
後戻りする系の手段はあれこれ用意されてるけど、CUIの方が充実してるかな
2022/04/21(木) 21:14:31.11ID:Ex423fK8
git pullしか実行したことないなら、GUI使ってもボタン一発だろw
2022/04/21(木) 21:34:43.05ID:F4v8aJSe
git pull はコンフリクトで失敗することがあるからボタン一発で済むとは限らない
2022/04/21(木) 21:37:37.80ID:ZCLpZV4/
CUIに劣等感感じる必要ないんやで
どっちも便利だから好きな方使え
2022/04/21(木) 21:46:02.93ID:FUPABV2N
GUIとCUIの併用だな
なんでどっちかしか使えないと考えるんだろう
2022/04/22(金) 00:44:19.39ID:a+ReXgZI
ブランチが必要な理由が分からない
リモートからクローンしてきている時点で、origin/masterとは別のリポジトリが個々人に存在するんだし
コミットも個々人のリポジトリに対して行うわけでしょ

一度もブランチ生やしてなんて一度も指示されたことないわ
2022/04/22(金) 02:04:37.85ID:/nIvhavJ
ブランチがないとお互いのコミットを観測することができない
人の変更を見ようと互いにpush+pullすると常にmergeが伴うので、いわゆる観測者効果みたいな面倒くささが生まれる
プロジェクトの規模やリリースの複雑性が増すにつれてより困る
よくある例では、次バージョンの開発を初めている人がいるときhotfixを出せない
featureブランチのpushはオアズケを命じられて、その間ソースレビューも滞る
ブランチをforkに置き換えても同じ
2022/04/22(金) 09:52:33.39ID:ZbT6iK7O
各個人のGitHubアカウントにforkしてリポジトリ間のpull requestでマージしていく流派も存在する
本来のGitやGitHubの想定する使い方としては正しくてOSS文化的にも好ましいやり方ではあるんだが、企業での開発ではほとんど採用されない
単一のGitHubリポジトリで中央集権的に管理した方が楽だからね
2022/04/22(金) 12:20:17.30ID:dVlUoLXX
AからA'とBの2つを作りたくなったときって、
ブランチなしでどうやるんだろうな
2022/04/22(金) 12:30:42.99ID:wri6W8iQ
>>963
ブランチは「実装していること」を表すので、複数の機能を並行して開発するときは必須。
よくあるのは
・通常の開発版とリリース版/デバッグ版を分けて、デバッグリリースを早くする&開発版への取り込みを管理しやすくする
・開発する機能ごとにブランチを用意して、互いの干渉を減らす&マージをやりやすくする
あたり。
2022/04/22(金) 14:20:44.25ID:QpAASndC
自分のアカウントにforkするスタイルの開発しか経験ない人が
単一GitHubリポジトリ運用な会社に入ってforkして怒られるのはGitHubあるある
2022/04/22(金) 21:56:45.85ID:RSUrvfLc
fork って何? git 用語に翻訳して。
2022/04/22(金) 22:05:44.96ID:0DWZpb5V
clone
2022/04/22(金) 22:16:51.65ID:RSUrvfLc
>>970
clone したら怒られるの? マジか? それ本当に git 使ってるの?
2022/04/22(金) 22:48:01.99ID:4bmaw9DX
forkがcloneだからといってcloneがすべてforkなわけがない
2022/04/22(金) 23:04:27.06ID:a+ReXgZI
おまえらって、gitについて講釈ばかりたれてるけど
全く本業ができないわけじゃないよなw

うちの会社にもいるわ
講釈たれてる暇があるならさっさとコーディング終わらせろよwwwww
2022/04/22(金) 23:12:27.31ID:UMBGLRP1
根拠のないレッテル貼りによる謎のマウンティング
2022/04/22(金) 23:30:46.77ID:pOr/JbKA
>>971
forkはgithubの別アカウントへリポジトリをcloneする
俺らはpushしてpull requestするとか素人さんを混乱させる戯言をよく使うが、本来のgithubのpull requestはforkした自分のアカウント下のリポジトリのブランチをpullしてmergeしてもらうことをrequestする

pushしてpull requestは正しくはpushしてmerge requestと言うべきで、Gitlabは正しくmerge requestと呼んでいたと思う

merge requestで作業してる職場で、pull requestしたら怒れるということだろう
2022/04/23(土) 00:07:18.92ID:iISBdnEI
>>975
何を言ってるかわからない。
pull というのは「 fetch して merge 」という操作をまとめてやるだけのコマンドなので当然 merge の意味を内包してる。
fetch せずに merge って言いたいの? それってどうやって対象を持ってくるの?
自分のリポジトリから持ってくるだけなら他人から request される必要ないし?
2022/04/23(土) 00:13:01.25ID:iISBdnEI
ちなみに push というのは remore への merge を指示するコマンドな。
2022/04/23(土) 00:51:13.69ID:1bxGV6XJ
>>976
いや同一のGitHubリポジトリ上でpull requestをマージするときにfetchは要らないでしょ
>>975の言うとおり、本来リポジトリを跨がるからfetch+mergeでpullなんだよ
2022/04/23(土) 00:59:48.76ID:HOOXt/T3
>>976
「本来のgithubのpull requestはforkした自分のアカウント下のリポジトリのブランチをpullしてmergeしてもらうことをrequestする 」
これはちょっと間違えた
fetchしてmergeしてもらうことをrequestするからpull requestね

それでmerge requestだけど、>>978の言うようにすでに共有ブランチへpush済みのブランチをmergeすることをrequestするから、mergeだけrequestでfetchはrequestしない
自分が仕事で使うのは主にこっち

>>977
pushは厳密に言えばFastForwardのmergeだけど、pushのことをmergeとはあまり呼ばないな
2022/04/23(土) 01:35:18.29ID:iISBdnEI
>>979
push した時点で merge されてるんでは?
push はデフォルトでは fast foward のみだけど、remote の設定によって普通の merge もいける。

共有リポジトリ上の feature branch を共有リポジトリ上の master branch に merge みたいな話をしたいのかもしれないけど、通常は共有リポジトリ上で完結させたりしない。
1) 共有リポジトリ上の feature branch を手元に fetch
2) fetch した feature branch を手元の master btanch に merge
3) 手元の master branch を共有リポジトリへの push
という手順を取る。
1) + 2) が pull 動作。fetch 無しは個人の作業リポジトリへの push が必要になるので普通やらないし、できない。
2022/04/23(土) 01:58:40.02ID:HOOXt/T3
あれ?もしかしてgithubだと違うのかな?自分が仕事で使うbitbucketの共有リポジトリでやる場合のデフォルトでは、プルリクエストの承認とマージは共有リポジトリ上で完結する
もちろんローカルでfeature branchをmasterへマージしてmasterをpushしてもいいんだけど、それは正式な手順では無い
githubでも同じことできるよね?

1) 共有リポジトリ上に feature branch を作成
2) 共有リポジトリ上の feature branch を手元にfetchしてcheckoutして修正をコミット
4) 手元の feature branch を共有リポジトリ上の feature branch へ push
5) プルリクエスト(マージリクエストだけど)をブラウザ上で作成
6) マージ権限者がブラウザ上でリクエストを承認してマージする

feture branchは正式にはブラウザで共有リポジトリ上に作るけど、ローカルで作ってpushしてもいい
2022/04/23(土) 02:02:56.04ID:HOOXt/T3
>>980
pushでFFじゃないmergeってできるの?できても今は普通しないでしょ
FFでmergeできない場合には、ローカルでmergeしてFFにしてpushするか、push -sで上書きが普通だし
2022/04/23(土) 02:12:55.85ID:iISBdnEI
>>982
できるけど、おすすめではない。
ただ push は merge と同じ機構という点が理解できてれば良い。
2022/04/23(土) 02:14:20.66ID:XK6u/IcU
普通はローカルでマージしたものをプッシュする
2022/04/23(土) 02:23:24.07ID:iISBdnEI
>>981
いきなり共用リポジトリ上でマージしたりしない。そういう運用ルールの組織があるとしたらかなり頭悪い。git の使い方が半分しか理解できてない。
共用リポジトリは問題があってもロールバックできない(超めんどう)なので、共用リポジトリの master には手元でのテスト等が終わって問題ないもののみを入れるのが普通。
2022/04/23(土) 02:38:54.73ID:HOOXt/T3
ローカルでマージしてmasterへpushするって言ってる人たちはmasterへのpush権限をみんなが持ってるの?
2022/04/23(土) 02:43:01.86ID:iISBdnEI
master へ push する権限を持ってる人がローカルで master に merge する作業をする。当然の話。
2022/04/23(土) 02:47:09.01ID:1bxGV6XJ
分野にもよるのかもしれんが、少なくともWeb系はGitHub上でマージするのが普通
直接mainにマージしたくないなら
2022/04/23(土) 02:49:26.76ID:HOOXt/T3
>>985
もちろんプルリクエスト出す段階でローカルにテストは済んでる前提だし、masterへマージされた後にそれがダメならrevertするよ?

プルリクエストを承認できてmasterへマージできる人は特定の人だけだし、それをマージする前にテストが済んでるかどうかとかをリクエスト者に確認する
そのためにプルリクエスト上でいろいろやりとりできるようになってるわけだし

というか>>980とかはgithubを単にgitのリポジトリとして利用するだけのやりかただよね?別にgithub使う必要無くない?なんでgithub使ってるの?
990988
垢版 |
2022/04/23(土) 02:51:33.02ID:1bxGV6XJ
失礼
直接mainにマージしたくないならdevelopブランチ等を間に置く
各自がいちいちローカルでマージして手元でテストなんてしてたら、みんなそれぞれ状態がバラバラで何テストしてるのか分からなくならないか?
特定の一人だけがmainにマージできるような超集権的な体制でないと成立しないと思う
2022/04/23(土) 02:52:15.37ID:HOOXt/T3
>>989
うちのやり方では「master へ push する権限を持ってる人がローカルで master に merge する作業をする。」か「ブラウザ上でマージしてしまうか」はその権限持ちがプルリクエストを見て判断する
2022/04/23(土) 03:00:56.62ID:HOOXt/T3
統合的なテストはmasterにマージされた後に動かして、それでダメならrevert
統合的なテストが済んだところはtagが打たれてリリースはそのtagがあるとこまでしか行われない
2022/04/23(土) 03:22:27.74ID:HOOXt/T3
久しぶりだけど次スレ立ててみる
994デフォルトの名無しさん
垢版 |
2022/04/23(土) 03:27:15.61ID:HOOXt/T3
次スレ

Git 18
http://mevius.5ch.net/test/read.cgi/tech/1650651945
2022/04/23(土) 03:39:41.93ID:/lJ77CU4
>>994
2022/04/23(土) 09:32:57.73ID:3glRXhKn
>>973
劣等感抱いてるんだね。わかるよ
2022/04/23(土) 09:43:28.49ID:aEJ0G9VA
未だsvnから離れられない人かな
2022/04/23(土) 11:37:43.64ID:BMKo0y1z
いえ、ディレクトリコピーで済ませています
2022/04/23(土) 14:25:06.82ID:tAGVUJOK
Git 18
https://mevius.5ch.net/test/read.cgi/tech/1631002816/
2022/04/23(土) 14:36:55.00ID:BMKo0y1z
質問いいですか?
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 598日 2時間 18分 27秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況