X



Git 17
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
垢版 |
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
0002デフォルトの名無しさん
垢版 |
2020/09/02(水) 15:09:20.95ID:PicHUi2j
O2
0004デフォルトの名無しさん
垢版 |
2020/09/04(金) 10:46:20.73ID:b8MHX2E0
git revert ハッシュ
で打ち消しコミットが作られるけど
コミットではなく編集までにとどめるにはどうしたらいいの?
いったんコミットまでやっちゃってresetするしかない?
0006デフォルトの名無しさん
垢版 |
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回以上作り直してやっと採用されるパッチもあるし、いろいろ大変ですな。
0007デフォルトの名無しさん
垢版 |
2020/09/06(日) 17:49:42.77ID:rO2fthBs
仕事は別として個人プロジェクトのやつは
パッチはそれなりにOKだったらマージすることにしてる

自分でやったほうが早いし、継続的に参加するわけでもない
簡単なパッチ提供者にプロジェクトの方針とか伝えるのは
面倒だしお互いに苦労するだけで実りがない
0008デフォルトの名無しさん
垢版 |
2020/09/12(土) 11:52:10.62ID:nNCBAW3g
>>6
Hamano氏が「圧」したら、sun lin 氏からパッチの返信が来た。
cooking in git.git は Will merge to 'next'. に変更されて
次の次( 2.30? )でマージされそう。
0010デフォルトの名無しさん
垢版 |
2020/09/18(金) 11:51:44.27ID:2dY2/FG1
チェリーピックをした際に、コミットログに 元ネタのコミットハッシュを書きたいんだけど
どうやって書けばよいですか?
0012デフォルトの名無しさん
垢版 |
2020/09/18(金) 12:09:32.19ID:6ayRehP4
-n でコミットしないで置いとかれるから、手動でコミットする。
後からamendなりrebase -iする方がやりやすいかもしれない。
0014デフォルトの名無しさん
垢版 |
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の知識は必須です。
0015デフォルトの名無しさん
垢版 |
2020/09/18(金) 17:24:01.05ID:aUp7Wv4J
>>14
ありがとうございます
それ全部覚えて兄貴の隣の席で仕事ができるようになりたいです
0022デフォルトの名無しさん
垢版 |
2020/10/03(土) 09:07:07.46ID:UxGtK8U5
cloneやpushなどでリモートホストとファイルやり取りする際にファイルの同一性はどのように担保しているのでしょうか?
例えばブラウザでファイルダウンロードしたときにたまにファイルが壊れていることがあったりしますが
gitでそういったことは起きないのでしょうか?
0023デフォルトの名無しさん
垢版 |
2020/10/03(土) 09:30:56.19ID:F7oAx4CC
message digest
0024デフォルトの名無しさん
垢版 |
2020/10/04(日) 08:12:16.77ID:5wda0t4r
ありがとうございます
ファイル等gitオブジェクトはSHA-1で格納されているらしいということまではわかったのですが
受信時にこれを使ってベリファイしてるんでしょうか
0025デフォルトの名無しさん
垢版 |
2020/10/04(日) 10:48:37.02ID:3uxVqkZ8
SHAで格納とかいう時点でエラーチェックについて全くわかっていない。
チェクサムかパリティビットから勉強しろ。
0027デフォルトの名無しさん
垢版 |
2020/10/04(日) 13:06:56.18ID:q15OM1O2
いまファイルを編集中でコミットしたくないんですけど
別件で修正依頼が来たのでそれの修正をしてそれだけコミットし、編集してた状態に戻すまでのコマンドを1から教えてください
0029デフォルトの名無しさん
垢版 |
2020/10/04(日) 13:26:43.51ID:5wda0t4r
>>25
すみません書き方が悪かったです
SHAハッシュ値をフォルダ名とかファイル名にして格納してるという意味でした
詳しそうなのでgitが同一性の確認をどのように行っているのかご教示いただけませんか
0030デフォルトの名無しさん
垢版 |
2020/10/04(日) 13:37:46.47ID:So0YsnAr
>27
git stash save
他の作業
git stash apply

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

>>35
本来の用途と違いますが簡易的なファイルバックアップ目的で使えるかなと思いまして
これだけ使われていてデータ化け等のトラブルを聞いたことがないので
何らかの同一性をチェックする仕組みがあることは予想できましたが具体的に仕組みを知っておきたかったのです
0038デフォルトの名無しさん
垢版 |
2020/10/04(日) 19:47:03.49ID:So0YsnAr
いやだからSHA-1が何か知っていれば十分。
gitのソースなんか常識的なことしかやってない。
0042デフォルトの名無しさん
垢版 |
2020/10/05(月) 11:01:00.98ID:R+LPJQHy
バイナリ弄くって中身を直接改竄したらどこで気付けるの?
githubにプッシュする段階で弾かれる?
0043デフォルトの名無しさん
垢版 |
2020/10/05(月) 15:29:49.38ID:kPCKvS0E
簡単に試してみると
status チェックしない
checkout チェックしない
diff チェックしない
clone チェックしない!
pull チェックする
fsck 当然チェックする
0048デフォルトの名無しさん
垢版 |
2020/10/06(火) 08:57:57.90ID:BpxuehLI
>>47
status
エラーが出ない。改竄されて無いかのような結果を返す
checkout
エラーが出ない。改竄されたファイルをcheckoutできる
diff
エラーが出ない。改竄されたファイルとの差分が表示される
clone
エラーが出ない。改竄された状態のままクローンされる
0050デフォルトの名無しさん
垢版 |
2020/10/06(火) 22:52:44.68ID:PK5YmJhg
>>48
cloneでチェックしないのは驚き。
pullするまでわからないの?
pullとfsckはどんなエラーが出るんです?
pushはさすがにチェックするよな?リモートレポジトリ壊れちゃうぞ

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

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

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

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

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

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

こういうとき、どういう方法を取ることが多いでしょうか
0060デフォルトの名無しさん
垢版 |
2020/10/11(日) 21:09:04.26ID:da5/ZQBA
ありがとう
ただ、(必須条件ではないとはいえ)この2つが気になってる

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

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

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

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

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

Yahoo Microsoft Twitter Mercari LINE
0070デフォルトの名無しさん
垢版 |
2020/10/16(金) 10:40:11.28ID:sTwFaRRk
googleの巨大リポジトリはgitを改造して作ってるんだろ。
っていうか、そのためにHamano氏が雇われてると予想してるんたが。
0072デフォルトの名無しさん
垢版 |
2020/10/22(木) 18:03:28.49ID:h6SgBXMb
lan内、複数人、全部windowsマシンの環境で、vssからgitにしようとしてまっす
結局、gitサーバーって必要なの不要なの
bareレポジトリを共有フォルダにすればいいだけでっすか
0074デフォルトの名無しさん
垢版 |
2020/10/22(木) 18:34:07.73ID:vPWH9GQz
local で運用したいなら
git と ssh のみで ok
0075デフォルトの名無しさん
垢版 |
2020/10/22(木) 18:47:15.24ID:1w9ntcAE
共有しないならローカルだけでgitを使うのもいいよ。

文書作成とかローカルgit重宝するんだけど、あんまり流行らないよね。
0077デフォルトの名無しさん
垢版 |
2020/10/22(木) 23:45:51.43ID:qmwOK+gO
文書ならSubversionの方が使いやすい
Gitはサブディレクトリをチェックアウトできないのが致命的
0079デフォルトの名無しさん
垢版 |
2020/10/23(金) 00:09:06.10ID:cH47mZYH
自然文書じゃマージしようないし、Gitの設計は根本的に当てはまらなくなるな
0084デフォルトの名無しさん
垢版 |
2020/10/23(金) 00:44:21.72ID:T9P26xlF
ファイルサーバ的な使い方だと、フォルダ単位のアクセス制御とかファイルロックとかでSubversionが使いやすい
Gitみたいなスナップショットで管理する設計は大規模な非ソースコード管理には向かない
0089デフォルトの名無しさん
垢版 |
2020/10/23(金) 04:36:31.18ID:pqqT/mRf
日本語だとか英語使う以上どうにもならん
それよりも、markdownって糞面倒くさい
リストの先頭にスペース4個だ8個だ、1. 1. 1.でナンバリングとかいかれてる
リンク貼るのは面倒だし、テーブル書くのは悪夢だし、slackがmarkdown止めたのも納得
wiki記法でもasciidocとかマシな選択肢他にある
0090デフォルトの名無しさん
垢版 |
2020/10/23(金) 07:12:39.30ID:cSjOS+ch
フォーマットの良し悪しはどうでも良いよ
問題は普及してるかどうか
客先とかにメールで躊躇なく送れるフォーマットでないと使わない

gitで管理するためにテキストベースならありがたいが、優先度は低い
0092デフォルトの名無しさん
垢版 |
2020/10/23(金) 08:39:21.85ID:L0D/oeHA
>>91
それって、wordフォーマットで貰って加筆して送り返す場合も、元の書式が完全に再現されるの?
0094デフォルトの名無しさん
垢版 |
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」もそれに追随する構えだ
0095デフォルトの名無しさん
垢版 |
2020/10/23(金) 14:37:03.75ID:icJas7yX
ぶっちゃけ日本人としてはmaster(ご主人様!)でもmainでも
どっちでもいいんだが、gitが変えるならmainでいいとして
masterとmainを同一視する機能作らないの?
エイリアスブランチとかいう名前にしてさ、どちらからでも同じようにpullできる
0096デフォルトの名無しさん
垢版 |
2020/10/23(金) 17:08:42.32ID:2f10zgGH
sub : 私を差別するなニダ
0100デフォルトの名無しさん
垢版 |
2020/10/23(金) 22:35:42.31ID:wyWaj77E
ブランチなんだからブランチ操作のときの互換性に決まってんだろ
アホかw
0102デフォルトの名無しさん
垢版 |
2020/10/23(金) 23:38:51.83ID:lrh9I9yc
mainにする必要を感じないユーザーは今後もmainを使い続ければいい
互換性の上で何も困らない
上司が新しいブランチをmainで作りやがったけどオレはmasterが慣れてるんだ!オレの快適のために便利機能を開発しないGitはクソ!とか言い出したら立派なクレーマー
0103デフォルトの名無しさん
垢版 |
2020/10/23(金) 23:40:11.79ID:lrh9I9yc
書き間違えた
×今後もmainを使い続ければいい
◯今後もmasterを使い続ければいい
0107デフォルトの名無しさん
垢版 |
2020/10/24(土) 08:23:49.45ID:sA8KI1Y+
>>105
誤字は訂正すりゃ済む話だろ
誤字の責任をGitに転嫁し始めたらお前と同じだが

自分が欲しいと思い付いたものは皆欲しいに違いないし
それを提供する大人は疑い無く奉仕すべきってのは子供の発想
0111デフォルトの名無しさん
垢版 |
2020/10/24(土) 20:03:07.32ID:Am3cGdvz
> 上司が新しいブランチをmainで作りやがったけどオレはmasterが慣れてるんだ!

ここに決まってるだろ

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

問題解決
0116デフォルトの名無しさん
垢版 |
2020/10/24(土) 22:19:50.17ID:8e/eI8m7
>>108
まあ確かにリリースブランチとか定期的に切り替えるときには便利だな
masterとmainの互換性はわからんけどw
0119デフォルトの名無しさん
垢版 |
2020/10/25(日) 00:35:44.89ID:yof5oYiB
それはわたしのおいなりさんだ
0122デフォルトの名無しさん
垢版 |
2020/10/25(日) 12:11:04.99ID:KvAimzX1
>>119
oretin
0124デフォルトの名無しさん
垢版 |
2020/10/25(日) 20:31:14.35ID:hcHuBEQz
君のGit... ギットギトだね。。。
ほら。。。フォースプッシュ。。。
本番ブランチ。。。
0125デフォルトの名無しさん
垢版 |
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'

糞だな
0126デフォルトの名無しさん
垢版 |
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
消したったわ
0127デフォルトの名無しさん
垢版 |
2020/10/28(水) 13:58:07.50ID:maPeOjVv
久しぶりにgit使ったらbranchがデフォルトでmasterじゃなくてmainという表記になっていたのだが
0129デフォルトの名無しさん
垢版 |
2020/10/29(木) 13:42:03.39
ローカルのgitがmasterでリモートのgithubがmainになってるね
クローンからリモートするならすんなりいくけど
その逆だと気づかずにプッシュするとmainへのリクエスト扱いになっちゃう
configでデフォルトのブランチ名変えられないのかな
0130デフォルトの名無しさん
垢版 |
2020/10/29(木) 13:56:10.58ID:PxiO9E+R
git remote set-head origin master
0131デフォルトの名無しさん
垢版 |
2020/10/29(木) 14:04:48.81ID:PxiO9E+R
https://ngyuki.はてなblog.com/entry/20120827/p1
0133デフォルトの名無しさん
垢版 |
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
ってやってる・・
0134デフォルトの名無しさん
垢版 |
2020/10/29(木) 21:25:35.79
もうつぎからはリモートスタート(クローンスタート?)だとローカル側もmainブランチで始まるから
空リポジトリをクローンする方法でやる
0135デフォルトの名無しさん
垢版 |
2020/10/30(金) 02:21:28.42ID:hYhF3+Ov
「gitのメインブランチは昔はmasterだった」
「嘘乙」
「なんでmasterからmainになったんですか?」
「masterは奴隷差別を連想させるからだよ
0136デフォルトの名無しさん
垢版 |
2020/10/30(金) 10:46:57.43ID:7MkyV1Cp
ホワイトナイトは差別用語なので禁止してください
0137デフォルトの名無しさん
垢版 |
2020/10/30(金) 11:28:40.33ID:fOGNKV/n
releaseとかsummaryとか使うところ出てくるかな?
integrationとかは無さそうかね。
0143デフォルトの名無しさん
垢版 |
2020/10/30(金) 19:06:03.15ID:JR1a94e7
「使うところが出てくるのかな?」に対して「既に使ってるところはあるやろ」って返しだから何もおかしくない
0144デフォルトの名無しさん
垢版 |
2020/10/30(金) 19:22:46.09ID:EIXxJgw3
開発当事者でもないのにブランチ名変えろと
ポリコレissue投げまくる事件起こりそう
0145デフォルトの名無しさん
垢版 |
2020/10/30(金) 19:43:14.51ID:UyuACH5o
tortoisegitでマージコミットを選択すると、親1との差分、親2との差分という形で別れて表示されますが、これを3-way表示にさせる方法はありますでしょうか?
テキスト比較できないファイルを外部ツールでdiffしており、競合の編集時はその外部ツールで3way表示できるように設定しています。
マージコミットからダブルクリック等でその外部ツールの3way表示が開くのが理想なのですが、そのような設定や手法はありませんでしょうか?
0146137
垢版 |
2020/10/30(金) 19:52:27.03ID:fOGNKV/n
すまんすまん、デフォルトブランチを変える話な……と思ったけど、開発観点からはgitのデフォルトブランチなんてどうでもいいか。

>>144
mster使わないのは別に構わないけど、開発者なら技術的な利点を主張して欲しいわ。
技術屋が形だけでも同意できる理由も用意せずにねじ込もうとするポリコレバカはくたばって欲しい。
0147デフォルトの名無しさん
垢版 |
2020/10/30(金) 20:43:26.47ID:FRK/o1cy
わかったわかった、ポリコレに配慮してブランチ名はすべてsha1ハッシュにしよう
0149デフォルトの名無しさん
垢版 |
2020/10/31(土) 10:36:44.35ID:fxcwqRC2
秋葉でお帰りなさいませ御主人様が聴けなくなる日も近いか
0150デフォルトの名無しさん
垢版 |
2020/10/31(土) 12:37:08.41ID:GZ18ZzMi
メイド自体も主従関係の歴史を想起させるのでNG
家事の主体たる職業名を採用しメイドカフェはハウスキーパーカフェになります
衣装はズボンとエプロン
0156デフォルトの名無しさん
垢版 |
2020/11/02(月) 22:17:08.12ID:onwGyibB
ファストフォワードマージと分岐するマージはどっちを利用するべきなんでしょうか?
0158デフォルトの名無しさん
垢版 |
2020/11/04(水) 13:54:17.76
pythonの場合
distディレクトリとegg-infoディレクトリは
git rmしますか?
それとも更新するたびにsetup.pyして最新版の.tar.gzもpushするのでしょうか。
0159デフォルトの名無しさん
垢版 |
2020/11/04(水) 14:39:20.50ID:wF8lqQTT
.ignore に描く
0160デフォルトの名無しさん
垢版 |
2020/11/04(水) 15:42:04.95
ホームディレクトリに.ignore設置して云々とかあるけど
全部コマンドでできればいいのに・・
0162デフォルトの名無しさん
垢版 |
2020/11/04(水) 17:50:40.26ID:Q20JRtoy
そういうのはリポジトリの .gitignore で除外するだろ
言語に対応した .gitignore を自動生成する仕組みとかあるからググれ
0163137
垢版 |
2020/11/04(水) 19:03:17.34ID:RhljQsjd
>>160
gitignore自体gitの管理対象なんだから、ファイルのほうがいいだろ。
0164デフォルトの名無しさん
垢版 |
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の設定を変えても、その後にチェックアウトしたブランチには適用されないのでしょうか?
0165デフォルトの名無しさん
垢版 |
2020/11/05(木) 23:20:14.93ID:Jc1WkDDO
autocrlfを気にするということはWindowsでの開発だと思います。
autocrlf=trueでコミットしたんじゃないかと思います。

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

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

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

みたいなことって出来ますか?
0176デフォルトの名無しさん
垢版 |
2020/11/07(土) 19:15:02.73ID:cgvbFt64
設定としては〜、ということはやり方が無きにしも非ずと
まだまだ触り程度しか使っていないので、必要になったらまた勉強します

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

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

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

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

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

他の人にも聞きたいんですが、コンフリクト解消ってどこまでやりますか?ビルド通って動かせるところまで?
evil mergeになるのが気になる。
0205デフォルトの名無しさん
垢版 |
2020/11/14(土) 03:04:53.39ID:66xrGHZh
>>200
ブランチの概念がないの?
0206デフォルトの名無しさん
垢版 |
2020/11/14(土) 11:48:24.71ID:OfQ57GBv
>>200
まだまだ言葉足らず過ぎないか?
不特定多数の見る5chやでえ
マージをしているなかで互いの処理の競合を調停するための新規コードが必要になったとき二つの選択肢があると思う
1.テストが一部通らないことをコメントで断った上で、新規コードをマージコミットに混ぜるのを避ける
2.競合回避のための新規コードが混ざったことをコメントで断り、マージコミットで全部やる
個人の好みと程度問題じゃないかな
俺は差分を共有しやすいから1が好き
0207デフォルトの名無しさん
垢版 |
2020/11/14(土) 11:50:15.20ID:vc7ZeNxq
>>205
ブランチをマージするときの話ですよよ。文脈は把握されてますか?ご存知なければ無理にレスしなくて大丈夫ですよ。
0208デフォルトの名無しさん
垢版 |
2020/11/14(土) 11:53:34.61ID:vc7ZeNxq
>>206
evil mergeを避ける派ですね。
丁寧なレスありがとうございます。
言葉足らずなところを指摘、補足していただいてありがとうございます。
0209137
垢版 |
2020/11/14(土) 22:18:57.62ID:eMR5CvED
>>202
変える技術的なメリット無い限りはそのまんまだろ。
技術的なメリットを説明しろよ。
0210デフォルトの名無しさん
垢版 |
2020/11/15(日) 02:58:48.98ID:bhsguIlX
作業ブランチで機能追加やクリーンナップを地道に進め、
最後にmergeした結果を見ると、コーディングを最初から一気にやり遂げた錯覚になり、
スカっとするな。
という一連の流れを脳内再生してから --squash のオプションを思い出す俺。
0211デフォルトの名無しさん
垢版 |
2020/11/15(日) 12:14:35.24ID:ofPGnU/6
>>210
お前エセだろw

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

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

それは錯覚ではなく、最終的にそうなったので
それをマージしたりしたときに後から修正を追いやすくなる
--squashしたら一つにまとまるからダメじゃん
0214デフォルトの名無しさん
垢版 |
2020/11/15(日) 13:22:06.47ID:ALi3WLRE
>いきあたりばったりで作業したのではなく
>綿密な計画にそって作業したように見える

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

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

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

個人的には言葉狩りは好きでは無いが、
リベラルに中途半端は無いから、
早めにmasterからmainに変えた方が良いかも。
0220デフォルトの名無しさん
垢版 |
2020/11/16(月) 10:56:32.52ID:sF1WJXNT
一番危険な敵は内部の一番無能な人間
0222デフォルトの名無しさん
垢版 |
2020/11/16(月) 12:05:15.33ID:sF1WJXNT
書き忘れたけど無能な人ほど良く働くω
0225デフォルトの名無しさん
垢版 |
2020/11/17(火) 00:01:38.69ID:qU694wOR
WindowsでSourceTreeを使ってみたら、Shift-JISのファイルがプレビューで文字化けしてるんだけど、
Gitで管理するときは大人しくすべてUTF8に変換するべきなんでしょうか
0226デフォルトの名無しさん
垢版 |
2020/11/17(火) 00:16:54.68ID:ep69fhBS
Git関係なくUTF-8にするべき
Visual StudioのプロジェクトならUTF-16とかもあるけど
少なくとも全部Unicodeにしとけ
0227デフォルトの名無しさん
垢版 |
2020/11/17(火) 00:23:07.14ID:cTkCP5Bm
Visual Studioでsjisファイルのプレビューを見てみたけど文字化けなんかしてないけどなあ
0230デフォルトの名無しさん
垢版 |
2020/11/17(火) 02:32:05.88ID:hUMTMGfY
Visual Studioがうんこだから仕方なくVSで管理する用のソースファイルはBOMつきUTF-8にしてる
本当はBOMなしUTF-8がいいけど
(/source-charset:utf-8の存在は知ってる)
0231137
垢版 |
2020/11/17(火) 08:10:49.14ID:lJA+qRYx
>>230
visual studioもEditorConfig対応しているってよ。
0232デフォルトの名無しさん
垢版 |
2020/11/17(火) 09:08:16.34ID:iIrFjUs6
Gitは文字コードを管理できないというか実質的にUTF8強制になる
改行コードも固定するしかない
0233デフォルトの名無しさん
垢版 |
2020/11/17(火) 12:46:30.93ID:sslQDmWT
Visual Studioのプロジェクトにはプロジェクトファイルやリソースファイルも含まれていて、
UTF16やShift-JISで自動的に生成されるものが多いけど、
これらのファイルもUTF8にして運用するのがGitのやりかたということでしょうか?
MacやLinuxなどに持ってくることは考えていないです。
0236デフォルトの名無しさん
垢版 |
2020/11/17(火) 13:55:20.25ID:CjRdGkWC
Gitだと文字コードや改行コードが考慮されないから、Windowsだけで開発するならUTF8以外でもいいいけど、いずにせよ固定しないといけない
0237デフォルトの名無しさん
垢版 |
2020/11/17(火) 13:56:26.00ID:WArcbn8k
SJISでもいいといえばいいけど、LinuxユーザーやMacユーザーがメンバーにいると困ることになると思う
0239デフォルトの名無しさん
垢版 |
2020/11/17(火) 14:22:19.09ID:NE44coqD
WindowsだけならSJISはまずいな
海外のWindowsじゃ使えない
やっぱりUTF-16じゃないと
0240デフォルトの名無しさん
垢版 |
2020/11/17(火) 14:26:50.42ID:3/q4MWZe
SJISのファイルを英語版のWindowsに持っていったら、Windows Indexとかどうなるんだろうな
0241デフォルトの名無しさん
垢版 |
2020/11/17(火) 17:01:55.47ID:74wM5f1E
batファイルがCHCPだけで問題なく使えれば全部UTF-8にできるんだがなあ
現実解でいえば多少Shift JISのソースが混ざることもあるよ
Gitでは困らないけど統一できるならしたいところ
0243137
垢版 |
2020/11/17(火) 18:47:44.20ID:lJA+qRYx
>>241
Power Shell使わせたら?
バッチファイルしか使えないような環境は未サポートでいいだろ。
0245233
垢版 |
2020/11/17(火) 22:52:01.91ID:qU694wOR
何度もすいません。必ずしもUTF8にする必要はないということは、
SourceTreeで差分などが文字化けするのは諦めた上でということですか?
それとも、Shift-JISやUTF16のファイルが混ざっていても
文字化けさせない方法があるのでしょうか?
0248デフォルトの名無しさん
垢版 |
2020/11/18(水) 00:17:09.23ID:cMpWLiaN
gitはファイルしか管理していない。
ファイルパスを保存しているからディレクトリが有るように見えるだけ。
0251デフォルトの名無しさん
垢版 |
2020/11/18(水) 04:02:44.61ID:uoM+CD8t
>>245
差分はwinmergeがおすすめよ
文字コードの認識能力は高いし、多くの改行コードにも対応してる
難点は、いろんな文字コードや改行コードが混ざってても気づかないところかw

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

WinMergeは普段から使っているので、
SourceTreeで文字化けしていてもGitの管理上は問題ないのなら、
それが楽かもしれないです。
0255デフォルトの名無しさん
垢版 |
2020/11/18(水) 18:13:59.21ID:aBokwQ7L
WindowsユーザーのGit初心者はTortoiseGitを使うのが一番楽だと思う
同梱のdiffツールも十分実用的
シェル統合は好き嫌い別れるけど文字化けのようなトラブルを独力で解決できるなら好きなツールを使えばよろし
0256137
垢版 |
2020/11/18(水) 19:18:43.32ID:6GRC5GM1
開発初心者なら、こだわりのエディタとかないだろうから
Visual Studio Code + Git Graph
を使わせるのが一番いいと思う。
gitの機能がeditorに統合されているとやっぱり楽よ。
0257デフォルトの名無しさん
垢版 |
2020/11/18(水) 19:21:49.89ID:9OxgFlRx
コミットの改ざんを直感的なUIで出来るアプリほしい
コミットをくっつけたり
変更範囲の広いコミットを分割したり
コンフリクトを解消したり
0258デフォルトの名無しさん
垢版 |
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の作業を再開すればよいのでしょうか?
0260デフォルトの名無しさん
垢版 |
2020/11/19(木) 15:33:04.91ID:s5sCnCc3
>>258
6.テキストエディタでソースコードのコンフリクトした箇所を修正しAの作業を再開した

これだけ
0261デフォルトの名無しさん
垢版 |
2020/11/19(木) 15:38:04.08ID:s5sCnCc3
svn脳だと、ああコンフリクトしてしまったと天を仰ぎ
一体全体どうすればいいんだと嘆き悲しみ、大混乱が発生し
やがてコンフリクトとそれを引き起こした人に対して憎悪を抱くようになるが
git脳では日常的にある作業の一つでしかない
0262デフォルトの名無しさん
垢版 |
2020/11/19(木) 15:43:25.31ID:MCajbxoP
>>259
以下です
The following untracked working tree files would be overwitten by checkout.
〇〇(ファイル名)
0265デフォルトの名無しさん
垢版 |
2020/11/19(木) 16:04:24.67ID:MCajbxoP
コンフリクトしているのでもう一度スタッシュし直したら
チェックアウト時に上記のエラーとなりました。
0270デフォルトの名無しさん
垢版 |
2020/11/19(木) 16:14:39.10ID:80weRq09
コンフリクトという用語を知らないなら

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

>>258の話です

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

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

お騒がせしました
0277258
垢版 |
2020/11/19(木) 19:32:28.60ID:MCajbxoP
>>272
ありがとうございます
導入します

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

>>274
慣れるよう精進します
0280デフォルトの名無しさん
垢版 |
2020/11/19(木) 21:30:53.05ID:s+3w0EIq
高卒にはスカッシュわからんか。
0283デフォルトの名無しさん
垢版 |
2020/11/20(金) 09:09:05.28ID:kz/VI7H0
stashってさ、やってる事は臨時ブランチでコミットと同じ認識で合ってる?
イマイチ存在理由がよくわからんのだが
0285デフォルトの名無しさん
垢版 |
2020/11/20(金) 11:23:09.81ID:9Dj+1g2T
あと存在理由がわからんやつは、プログラマじゃないだろうな
あれだろマージ担当者とかだろw
0286デフォルトの名無しさん
垢版 |
2020/11/20(金) 12:52:35.74ID:sJptOchs
その理解でいいと思いますけど、ブランチと同じように使おうとすると、別ブランチでpopしたときに悲しいことになります。(確か現在の作業領域にpopするだけでしたよね?)
自分だったら素直に臨時コミットを作ります。add . && ci -m "tmp"だけで済みますし。
あとツールの問題もあって、gitkを使ってるんですけど、最後にstashした位置にしか表示されないのでわかりづらいです。最近使ってないので直ってるかもしれないですが。
0288デフォルトの名無しさん
垢版 |
2020/11/20(金) 15:13:30.13ID:chBH1D/L
間違ってpopしたらまたstashするね
popが怖いなら常にapplyするね
stashにはHEADがstashを指すことがないので現在地を意識不要という利点もある
楽さを取るか、作業ブランチ一本槍のシンプルさをとるか、好きにするよろし
0289デフォルトの名無しさん
垢版 |
2020/11/20(金) 15:20:00.20ID:chBH1D/L
stashが起点に縛られないという性質は、割とどこにでも適用できるという利点の裏返しでもある
急なインスピレーションで作業開始して、あとで然るべき適用先を探すようなアブノーマルさも優しく受け入れる懐の深いいいやつ
0290デフォルトの名無しさん
垢版 |
2020/11/20(金) 18:20:42.82ID:FeyWRiQw
♪無能な奴らが夕暮れさらに無能な奴を叩く
0301デフォルトの名無しさん
垢版 |
2020/11/29(日) 19:01:51.61ID:P9IxyqDK
github上に残したくないあるディレクトリ以下のファイルを全て履歴から削除したいんですが
コミットするときにそのディレクトリだけでなく、他のディレクトリの残しておきたいファイルも一緒にこみっとしてます
どのように履歴から消せますか?
0303デフォルトの名無しさん
垢版 |
2020/11/29(日) 20:11:24.34ID:4Sa9/2cA
>>301
具体的な手順はいくつかあるが、例えば
不要ファイルを削除するコミットを作って、rebaseして不要ファイルを追加したコミットにsquashしてやる。
0304デフォルトの名無しさん
垢版 |
2020/11/29(日) 20:18:01.37ID:bza0LWNC
めんどくさ
コミットをエクスプローラーで開いてセーブしたらコミットが上書きされる単純明快な機能があればいいのに
0307デフォルトの名無しさん
垢版 |
2020/11/29(日) 23:21:50.15ID:7a+fWiSw
変更履歴を管理するというとイミュータブルな印象を受けるけど
実用上は別にイミュータブルである必要はない
というか履歴を後から整理して追跡しやすくしたほうがメンテナンス性は上がるのだからむしろミュータブルであるべき
0308デフォルトの名無しさん
垢版 |
2020/11/29(日) 23:29:02.85ID:7a+fWiSw
例えば物理的なコミットAには論理的な変更1と変更2が含まれてるとしてだ

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

とすると履歴が変更1と変更2に綺麗に分かれる
こうしたほうが履歴が遥かに綺麗になる
SCMはこういう操作がもっと直感的に簡単にできるべきなんだよ
0311デフォルトの名無しさん
垢版 |
2020/11/29(日) 23:56:04.91ID:+p4clpep
>>308

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

もっと簡単にできるが?
0314デフォルトの名無しさん
垢版 |
2020/11/30(月) 00:14:22.73ID:XdYfXM2+
こうかな?
git filter-branch --index-filter 'git rm -rf --cached --ignore-unmatch フォルダのパス'
BFG Repo-Cleanerを使うともっと性能がいいらしい
0317デフォルトの名無しさん
垢版 |
2020/11/30(月) 07:40:01.87ID:yv0cTGob
エディタとかエクスプローラの操作でgitコマンドが発行されるソフトを作ればいいんでないの
0318デフォルトの名無しさん
垢版 |
2020/11/30(月) 08:59:23.49ID:XdYfXM2+
まんまTortoiseGitの設計思想っぽいな
ディレクトリツリーに加えて歴史という時間軸があるからエクスプローラという枠を大分越えてるだろうけど
しかも今回みたいなお題はTortoiseではなくfilter-branchみたいに時間軸に対して効くコマンドを使わないと手作業が増えて堪んないと思う
0324デフォルトの名無しさん
垢版 |
2020/12/05(土) 15:06:02.47ID:++4jxPOM
巻末(?)の妹「ワンピースみたいな漫画かいてよ!」
→わんぴいすというこんな漫画を書いてるよ
は涙モノなのにな
0325デフォルトの名無しさん
垢版 |
2020/12/06(日) 15:47:36.02ID:IaKTyiK3
GitHubなどのサイト上では、ファイルごとの履歴を見ることはできないのでしょうか
0330233
垢版 |
2020/12/08(火) 00:08:05.40ID:VF8E4fJS
「わかばちゃんと学ぶGit使い方入門」という本を読んでるのですが、
140ページのコンフリクトの解決って、本の通りにできますか?
元々のmasterは5月6日開催なのに、5月6日の方を採用したら、
変更なしになってコミットできなくなってしまうのですが。
0331デフォルトの名無しさん
垢版 |
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 とはどういうことなんでしょう。
0334デフォルトの名無しさん
垢版 |
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をしています。
0335デフォルトの名無しさん
垢版 |
2020/12/13(日) 08:08:39.67ID:EpHdNzxH
Git ってソースコードなしのアイデアノートみたいなの投稿しまくったら怒られる?
公開しなければ大丈夫か、公開しても大丈夫か、そもそもダメなのか

バージョン管理できて過去に間違った事書いてたのも確認できたら良さそうだけど
0339デフォルトの名無しさん
垢版 |
2020/12/13(日) 11:45:45.40ID:he+bODzw
誰に怒られるんだ、githubの利用規約を気にしてるのか?
gitで管理できるものなら何でも、常識の範囲内で使えるサービスだと思うぞ
0343デフォルトの名無しさん
垢版 |
2020/12/13(日) 12:36:07.12ID:EpHdNzxH
master から main に名前変えるって話上に書いてあるけど、
git blame の方が嫌な名前じゃね?
日本人ですら抵抗感じる名前なんだけど
0345デフォルトの名無しさん
垢版 |
2020/12/13(日) 13:03:35.87ID:5EW0FlRD
それを言ったらkillコマンドもダメだな
なにも悪いイメージの言葉を全部狩ってやろうって話ではなくて、ポリコレ的に問題になるのは差別と通じるものがあるかどうか
程度問題や是非はさておき、差別は基本的人権を脅かすのが理由
blameは非難という和訳だけで覚えてるとキツいけど、blameが持つ責任の所在を明らかにするという概念を認識しているネイティブにはそこまでキツく感じないんだと思う
0348デフォルトの名無しさん
垢版 |
2020/12/13(日) 15:05:53.09ID:tJMy4iCP
黒人を少しでも悪く言えないように黒人の話題を全て書き込み禁止にしてほしい
0350デフォルトの名無しさん
垢版 |
2020/12/15(火) 11:48:33.99ID:JgqAZAsv
あいつら上級地球民だから
俺たち下級とは違うんだよ
もちろん100%皮肉な
0351デフォルトの名無しさん
垢版 |
2020/12/15(火) 19:54:34.73ID:gQh/3Vfu
gist コマンドって、git と違って、何かしら技使わないと grep できないってことでいいん?
0353デフォルトの名無しさん
垢版 |
2020/12/16(水) 15:21:52.55ID:4v/YyiUF
ローカル死ぬと怖いから秘密守ってるれるホスティングサービスあると嬉しい
0355デフォルトの名無しさん
垢版 |
2020/12/17(木) 08:05:46.99ID:61mx8GyZ
>>353
暗号化ストレージにリモートリポジトリ作ったら?

git-secretとかgit-cryptもあるみたいだな。使ったことないけど。
0358デフォルトの名無しさん
垢版 |
2020/12/19(土) 20:23:49.34ID:JSwgNTOX
あたしの彼氏、今日の俺は今日だけのワンタイムトークン!とか
携帯を勝手に覗き見てトークンチェック!とか言ってくる…
もぅマヂ無理。
0365デフォルトの名無しさん
垢版 |
2020/12/21(月) 20:01:18.48ID:igZjZViM
前いたとこはみんな https でやってて credentil.helper でパスワード保存してたな
これも使えなくなるのかな
0366デフォルトの名無しさん
垢版 |
2020/12/21(月) 20:06:15.80ID:D8/t+Wt8
まあ確かに会社のPCに秘密鍵置いておくと
取られる可能性はあるからな
そのPC固有のトークンのほうが安全か
もちろん俺は秘密鍵にパスコードかけてるけど
0368デフォルトの名無しさん
垢版 |
2020/12/24(木) 08:43:34.70ID:EahE3vDH
2段階認証あるある:
割とでかいコードをチェックアウトするためにコマンドを走らせたままにして後で見たら、
認証が期限切れになっててチェックアウトが全部失敗していた。
面倒な世の中になった。
0376デフォルトの名無しさん
垢版 |
2020/12/26(土) 20:26:02.66ID:z44Zq0Yv
なぱきゃとわんちゃい
みたいな名前の奴いたな
0378デフォルトの名無しさん
垢版 |
2020/12/27(日) 07:18:20.86ID:3wE25Ze9
>>376
あああの渡辺満里奈と結婚した...

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

>>382-384
もうちょっと分かりやすく質問したほうが良かったですね
ごめんなさい
0387デフォルトの名無しさん
垢版 |
2021/01/05(火) 12:02:54.07ID:G8BimKKu
windowsのexoplorerで拡張子表示しない設定がデフォだが
.gitignoreの様ないわゆるドットファイルは全部表示されなくなるのか
0388デフォルトの名無しさん
垢版 |
2021/01/05(火) 12:28:54.57ID:aNkjNIb3
試してみればいいだろ。どうせWindowsを叩くネタ探ししてるだけだろうけどなw
0399デフォルトの名無しさん
垢版 |
2021/01/07(木) 08:44:09.61ID:ZQrukJD2
まあ使う分にはコミットがスナップショットでも差分でもどっちでもいいけどな

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

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

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

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

このバージョンで追加された機能、修正された機能はなんですか?
という質問に答えられないようなコミットは作ってはいけない
0413デフォルトの名無しさん
垢版 |
2021/01/08(金) 21:17:00.17ID:/3odlZSD
ここでいってるバージョンっていうのは1.0.0みたいな
公開用バージョンじゃなくて1コミット=1内部バージョンっていう意味な
リビジョンとも言う
0415デフォルトの名無しさん
垢版 |
2021/01/08(金) 21:20:19.55ID:gSC2W/4L
うん、パブリックな作業だとそうなんだろうけど、
プライベートで作業してるメモとかのリポジトリの話ね
0418デフォルトの名無しさん
垢版 |
2021/01/09(土) 00:02:47.37ID:W79PuS1T
>>410
内部で圧縮だとか重複排除だとのかの機能が働いてるのでテキストなら全く気にすんな。
変更箇所が小さいということは他のスナップショットとの間での重複が大きいので、その分圧縮がよく効いて結局小さくなる。

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

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

これでどうだ。
0424デフォルトの名無しさん
垢版 |
2021/01/09(土) 10:36:06.13ID:iPsMunau
BLOBが完全にスナップショットってことは
平均100バイトのソースを通算100万回変更してコピーが作られたとしても所詮100MB単位なので問題なしとして
100MBの神Excelを1000回コミットすると100GB肥大化しちゃう?
0425デフォルトの名無しさん
垢版 |
2021/01/09(土) 11:02:31.02ID:HMKT/ruy
GitのホスティングサービスってGitHubとかBacklogとかどこも1ファイル100MBまでとか全体で2GBまでとかに制限してるか、または推奨してる
Gitとしては巨大なリポジトリは分割して複数のリポジトリで管理するのを良しとしてる
0426デフォルトの名無しさん
垢版 |
2021/01/09(土) 11:06:21.25ID:HMKT/ruy
ただ、GoogleとかFacebookとかApache Foundationとか巨大なシングルリポジトリでソース管理してるとこも多くて、そういうとこじゃGitは使えない
0427デフォルトの名無しさん
垢版 |
2021/01/09(土) 11:20:38.94ID:VJN4kPsf
Androidはrepoという、沢山のgitレポジトリを集めたようなやつになってるよね。
でルートの.repoというディレクトリの下が結構でかくなる。何十GBとか。
0429デフォルトの名無しさん
垢版 |
2021/01/09(土) 13:31:10.98ID:HMKT/ruy
それくらいがリポジトリ分割の目安ってこと
GitHubとかBitbucketとかたいていのプロジェクトで使うし
0434デフォルトの名無しさん
垢版 |
2021/01/09(土) 17:15:51.87ID:hICARDFL
バージョン管理システムはソースコードを管理するためのもので
差分見たり、ファイルの一部分を取り入れたりできなければ意味がない

100MBとかソースコード(テキスト形式)ではありえないようなサイズは
Git LFSを使ってファイルとして管理するのが推奨されてる
0435デフォルトの名無しさん
垢版 |
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
0437デフォルトの名無しさん
垢版 |
2021/01/10(日) 11:31:03.72ID:YtDhIn2G
>>435
コミット(というかインデックスファイル作るときなのでadd)したときにはスナップショットが作られる(記事内のlooseオブジェクト)けど、
gcで差分に変換される(=packfile)ってことか。勉強になるわ。
差分はどういうフォーマットなの?たぶんdiffではないよね?

あとハードリンクってのは概念的な類似(inode)から口走っちゃったけど、>>436のつもりです。ブランチと同じようにハッシュ向けるだけ。
0438デフォルトの名無しさん
垢版 |
2021/01/10(日) 16:45:12.51ID:LeXF6f76
>>416だと保存しないとトリガーが発動しないから保存を忘れてしまえば効果が無いな
0439デフォルトの名無しさん
垢版 |
2021/01/13(水) 21:53:18.46ID:5+4LZxHe
一番最初のコミットしたファイルにパスワードが含まれるファイルがあるので
パスワードを空にしてそのコミットを修正する方法を教えてください
そのファイルは2回目以降にもぼちぼち編集してますが
パスワードの行は変更しておりません
0444デフォルトの名無しさん
垢版 |
2021/01/29(金) 17:38:30.84ID:W6HglRhM
自分のHTMLやcssの履歴を残したいのでgitを使い始めたのですが、

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

コミット(B)をrebaseをしてintaractiveを選んだのですが、コミット(A)は消えず
変化もありませんでした、Visual Studio Codeを使用しています
0445デフォルトの名無しさん
垢版 |
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 @ で表示される文字列をメモっておいてください。
0447デフォルトの名無しさん
垢版 |
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>...]'
0448デフォルトの名無しさん
垢版 |
2021/01/30(土) 10:49:06.16ID:T6Q7OQGL
最後のエラーが謎い…環境を教えて下さい。
・gitのバージョン
・コマンドラインを実行しているシェル(bashではない?)

git reset --soft HEAD^
これはどうなります?
0449デフォルトの名無しさん
垢版 |
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が動かなかったのは何か条件があるのかな・・
0450デフォルトの名無しさん
垢版 |
2021/01/30(土) 20:10:04.60ID:zAPZPJfA
目的は果たせたようでよかったです。
powershellは分からないですが、たぶん@と^は使わないほうがいいんだろうと思います。
0451デフォルトの名無しさん
垢版 |
2021/01/31(日) 22:20:13.70ID:/8udhYNB
皆さんってGUIのGitツールって使います?
使っているとしたらオススメとかってありますか?
0453デフォルトの名無しさん
垢版 |
2021/02/01(月) 00:11:14.51ID:d6MK+BJR
SourceTree使ってるけど、バージョンアップで時々変なバグ入れてくるのでおすすめしない
0457451
垢版 |
2021/02/01(月) 12:25:02.13ID:1/QkvVEJ
皆さん、情報提供ありがとうございます。
参考にさせていただきます。
0458デフォルトの名無しさん
垢版 |
2021/02/01(月) 22:50:03.16ID:Q5Bso842
質問させて下さい。
開発の為に開発用branchを作り、開発が完了して、master branchにマージした後、その開発用branchは削除すべきなのでしょうか?
仮に削除するのだとすると、開発用branch内の履歴が消えてしまうような気がするのですが、なにか良い方法はありますか?


よろしくお願いいたします。
0459デフォルトの名無しさん
垢版 |
2021/02/01(月) 23:09:13.83ID:36GZ1lkU
>>458
fast forward マージをした?

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

これを使ってみて
0460デフォルトの名無しさん
垢版 |
2021/02/02(火) 12:15:14.88ID:9p26+m9e
>>451
git bashは一度起動させたらそのまま移動して使い回す
更新履歴見るときだけgitk呼んでる
操作自体はgit bash
過去の履歴が使えるので専用シェルは都合が良い
@win10
0461デフォルトの名無しさん
垢版 |
2021/02/02(火) 15:24:31.09ID:eTRsUHIh
git bash 便利だよね
0465デフォルトの名無しさん
垢版 |
2021/02/04(木) 13:07:15.43ID:4mrWh63N
git reset --soft <commit>

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

つまり、
git reset --soft
ってのは、reflog で見れる足跡情報が増えるだけで、
それ以外にはなんにもしないコマンドって理解でいいです?
0468デフォルトの名無しさん
垢版 |
2021/02/08(月) 20:47:02.46ID:kPAwZcKm
Windows で開発してるうんkなんで、
git bash を VS Code で植え込んだ時におならが出るくらい感動した
0471デフォルトの名無しさん
垢版 |
2021/02/09(火) 12:33:58.63ID:eEK9etiv
powershell はコマンドが長ったらしいだけでもう無理
エイリアス設定できたとしてももう無理
なんか powershell 開いただけで蕁麻疹出る
0476デフォルトの名無しさん
垢版 |
2021/02/09(火) 18:00:37.52ID:n4fLaJzx
すまん、プレステとサターンどっちが強いってイキってる小学生から成長してないやつがいるとは思わなかった
アレルギーって自分で分かってるんだから好きなの使えばいいのにね
0477デフォルトの名無しさん
垢版 |
2021/02/09(火) 22:46:56.83ID:2AhSCbDW
利点を教えてと言っただけなのに、何でどちらが強いとかイキってるとかの話になるんだ…
0478デフォルトの名無しさん
垢版 |
2021/02/10(水) 00:13:24.97ID:85OkvizX
無理、無理、蕁麻疹出ると畳み掛けた奴が「教えてと言っただけ」と嘯くか
こういう輩が被害者ぶってる様を見る方がよっぽど無理だわ
0480デフォルトの名無しさん
垢版 |
2021/02/10(水) 06:21:29.99ID:qX2MPAZ0
そういう喧嘩はどうでも良くて、
普通に powershell に利点があるなら知りたいだけなんだけど
自分は powershell 全然使い込んでないし
0483デフォルトの名無しさん
垢版 |
2021/02/13(土) 21:10:04.34ID:k+FkZinH
PowerShellは.NET Frameworkが使えることが最大の利点。
それ以外のメリットがないのが最大の欠点。
0485デフォルトの名無しさん
垢版 |
2021/02/13(土) 23:43:26.18ID:8rFjwvle
マイクロソフトの影響が強まっているから仕方ない部分もある
0486デフォルトの名無しさん
垢版 |
2021/02/14(日) 17:26:13.02ID:TODeHKxO
質問です
あるプロジェクトをgit cloneしてローカルでbuildしたのですけど、
その中で必要なSDLのソースが404でダウンロード出来なくて、中断する状況。
メンテナに聞いてみたら"update the git hash."とのこと。
「HASH更新するのね、了解」って思ったんですが、それってどうするの?状態です。
gitのオプション見ても適当なコマンドは見たらないし、cloneしてbuildする位しか
git自体使ってない程度なのでさっぱりさんです。
どなたか教えてください。
0488デフォルトの名無しさん
垢版 |
2021/02/14(日) 17:41:51.89ID:TODeHKxO
ぬ、了解です。
github.com/EmuELEC/EmuELEC
で、Odroid Go Advance用にmake imageしたもので該当エラーになります。
build環境はamd64のdebian9です。
0492デフォルトの名無しさん
垢版 |
2021/02/16(火) 00:58:10.08ID:mnwlAejZ
質問をさせて頂きたいのですが、
GitはGPLらしいのですが、注意することはありますか?
例えばGitを用いて公開したコードは商用利用出来ないのですか?
0493デフォルトの名無しさん
垢版 |
2021/02/16(火) 01:41:07.50ID:MAgjCNR3
ライセンスに関わることは正確にやりたいこと言わないと答えられないぞ

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

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

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

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

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

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

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

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

悪いのはそのGPLソフトだ。どうすべきだと思う?
そのコードを消して謝れば許す?
それとも損害賠償すべきだと思う?
それともGPLのライセンスを、別のライセンスに変更すべきか?
0510デフォルトの名無しさん
垢版 |
2021/02/16(火) 22:53:40.52ID:ZcpmZlC/
ライセンス違反したことは悪いが、
だからといってGPLに変更すれば許してやるよというのは
傲慢な脅しに過ぎない

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

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

GPL(事実上無料)にどれだけの損害を認められるか知らんがな
まあGPLを使ったことによる利益とかから算出されるんじゃね?
どうでもいい部分の利用程度なら、損害の程度も低いだろう
0511デフォルトの名無しさん
垢版 |
2021/02/16(火) 23:07:03.03ID:RZWWw22S
いちいち裁判で争ってたら仕事にならんからやっぱりGPLは避けるのが無難だな
0512デフォルトの名無しさん
垢版 |
2021/02/16(火) 23:11:40.98ID:ZcpmZlC/
ライセンス違反しなければいいだけだろ?
リンクしない限り何も影響なく
自由に利用できる
0513デフォルトの名無しさん
垢版 |
2021/02/16(火) 23:12:44.65ID:ZcpmZlC/
せっかく開発者が自由に使ってくださいって提供してるんだから
便利に使ってやらなきゃ可哀想だろう
LinuxだってGPLだ。便利に使える。
0514デフォルトの名無しさん
垢版 |
2021/02/16(火) 23:37:58.40ID:uwaPbh9W
>>504
GNU公式見解では動的リンクもOUT
Linuxカーネルがとりあえず動的モジュールOKなのはリーナス含む大勢の著作権者が不問にしてるだけ
そして動的リンクの意義はLinuxカーネルみたいなものなら自明だろう
0516◆QZaw55cn4c
垢版 |
2021/02/16(火) 23:43:18.17ID:I98rHtI/
>>514
私には自明にはみえませんが‥‥
カーネルモジュールのことをいっているのですか?
0517デフォルトの名無しさん
垢版 |
2021/02/16(火) 23:45:17.03ID:uwaPbh9W
>>516
ドライバ全部入りのカーネル使いたいの?
それともドライバ組み込むたびにカーネルリンクしたい?
0519デフォルトの名無しさん
垢版 |
2021/02/16(火) 23:50:06.35ID:M81i/Uj4
余計なリスクを抱えるのは避けたいからBSD・MIT・Apacheライセンスのライブラリを使うわ
0520デフォルトの名無しさん
垢版 |
2021/02/16(火) 23:55:13.86ID:ZcpmZlC/
ライブラリをGPLにしてしまうと、静的・動的リンクのためライセンス違反になるので
そうならないようにライブラリ用にLGPLというライセンスが存在する
GPLのライブラリのほとんどはよく読めばLGPLになってるはず
0521◆QZaw55cn4c
垢版 |
2021/02/16(火) 23:55:15.05ID:I98rHtI/
>>517
MS-DOS では必要に応じてデバイスドライバを後から読み込むことができますが、MS-DOS のデバイスドライバを指して「動的リンク」とは当時は言っていませんでしたよね…
またアプリケーションに関しては、動的リンクはトラブルのもと(アプリではなく動的ライブラリが原因、とか、アプリの記述で手を抜くとアプリが暗黙に得体の知れないところの動的ライブラリをしれっとリンクする、とか)だった気がします
いわゆる Windows の DLL HELL ってやつですよ‥‥
0522◆QZaw55cn4c
垢版 |
2021/02/16(火) 23:55:48.59ID:I98rHtI/
>>520
それは矛盾と妥協の産物としか‥‥
0524デフォルトの名無しさん
垢版 |
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の元で公開されたソースを利用したソフトウェアを開発しても、
> その独自開発部分のソースコードの公開を強制しないという特徴を持っている。
0525デフォルトの名無しさん
垢版 |
2021/02/17(水) 00:07:50.02ID:dCg1/Ims
>>521
LinuxはWindowsでいうDLL HELLを避けるために
全てのパッケージが使用するライブラリを厳密に管理してる
それがディストロの仕事で、例えば次のUbuntu 21.04をリリースすべく
いま頑張ってる作業の内容がそれ

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

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

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

ただ一ついえることは、2021 年現在、DLL が本当に必要なのか?という疑問はもっともっと考慮する価値がある、という点でしょうか
0533530
垢版 |
2021/02/18(木) 01:40:21.32ID:O19Vw8ur
>>531
ですよね〜

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

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

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

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

そもそもGPLの強制力自体法的にグレーらしいからね
多分日本で裁判起こされても負けないと思う
0537デフォルトの名無しさん
垢版 |
2021/02/20(土) 20:18:22.09ID:M2gbwTPz
仮に裁判に負けないとしてもいちいち訴訟起こされたら仕事にならないし時間の無駄だからGPLのライセンス違反は避けとくわ
0538デフォルトの名無しさん
垢版 |
2021/02/20(土) 23:45:15.22ID:upzAgg50
git checkoutで過去のコミットに戻ったあと、元いた未来のコミットに進むにはどうしたらいいの?
0542デフォルトの名無しさん
垢版 |
2021/02/21(日) 00:41:18.13ID:nRMfhtr9
git-checkout -

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

へぇ〜しらなかった。cd - みたいだね。
0543デフォルトの名無しさん
垢版 |
2021/02/21(日) 17:55:15.38ID:Ad1gHg6w
git switch -
でもいいんやで

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

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

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

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

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

ただしメッセージも履歴をとっておくべきだと思うので、ハッシュを個別に取って、両方合成でコミットを管理するとかだな。
ソース側のハッシュだけで新しい方にマッチするようになっていれば良い。
0546デフォルトの名無しさん
垢版 |
2021/02/21(日) 21:35:17.56ID:sBTXUFZh
>>545
新しい方決め打ちじゃなくて選択させろという
要求でたらというか普通に出るから
最初から今のようにメタデータ込みの方がシンプル
0548デフォルトの名無しさん
垢版 |
2021/02/21(日) 23:07:24.75ID:BgIZluJH
分散バージョン管理を何だと思ってるんだよ
履歴は複数のリポジトリに存在する可能性がある
特定のハッシュを指定すればどのリポジトリでも同じ履歴を指すのが重要
それなのにリポジトリ毎にコミットメッセージが違う可能性があるとか有り得んわ
0554デフォルトの名無しさん
垢版 |
2021/02/27(土) 18:10:10.89ID:5c6DxbzC
初歩的な質問をさせて下さい

作業用のディレクトリ内にREADME.mdファイルを作成したのですが、
このファイルはコミットした方がいいんですか?
それとも.gitignoreファイル内に記述して追跡されないようにした方がいいですか?
0558デフォルトの名無しさん
垢版 |
2021/02/27(土) 21:05:27.89ID:GbyYV3Ad
>>554
コミットしたほうがいいよ
このリポジトリをクローンしたひとが最初に読むことを書いとくといいよ
0560デフォルトの名無しさん
垢版 |
2021/02/27(土) 22:42:38.12ID:2Z5Xe6zl
>>559
GitHub等のホスティングサービスでもいいしオンプレにgitサーバー建ててもいいしお好きにどうぞ
0561554
垢版 |
2021/02/27(土) 23:13:08.51ID:5c6DxbzC
>>558
>>559
ありがとうございます

>>558
分かりました

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

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

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

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

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

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

平和的に解決するように頑張ってください。
0567デフォルトの名無しさん
垢版 |
2021/03/04(木) 01:48:02.33ID:jld/rbVo
もう一点だけ補足。
説教になって申し訳ないです。

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

Gitと関係ないことを連々と失礼しました。
0570デフォルトの名無しさん
垢版 |
2021/03/04(木) 15:56:47.53ID:Ep7EXP13
>>563
なんとなく問題は、本流以外だと動作確認しづらい何かがあるんじゃないかという気がする。
つまりgit以外の問題なんじゃないかと。
0572デフォルトの名無しさん
垢版 |
2021/03/04(木) 18:38:18.06ID:D7YR+KaN
>>571
masterからmainへの名称変更は前回のv2.30で一段落付いて、
今回は普通のリリースになりそうです。
0573デフォルトの名無しさん
垢版 |
2021/03/04(木) 19:13:26.59ID:k8593Rs+
>>566
>>568
ローカルで最新devをマージしてコンフリクトを解決するのがgit flow標準になっていないのは、何か理由あるのかしらん?
後のリクエストに修正義務を課すのはわかりやすいルールだと思うけど、問題あるのかな?
0574デフォルトの名無しさん
垢版 |
2021/03/04(木) 21:37:38.82ID:miLZRrxO
標準にしてないだけじゃないかな
プルリクとは限らないから、自分でマージしたっていいし
0577デフォルトの名無しさん
垢版 |
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」のシンボリックリンク対応を無効にする
・プロセスフィルタのサポートを無効にする
・信頼されていないリポジトリのクローンを避ける
0579デフォルトの名無しさん
垢版 |
2021/03/17(水) 19:54:37.33ID:kfZVZJH6
ゴミ

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

書籍での説明もPCにGit、インターネット上にGitHubがある使い方を前提とした説明ばかりだから、一緒くたになるんだと思う。
0584デフォルトの名無しさん
垢版 |
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数稼ぎみたいなクズ
0586デフォルトの名無しさん
垢版 |
2021/03/18(木) 09:51:54.96ID:FvPGn+3+
gitのアカウント持ってるかって聞かれたことある?
0587デフォルトの名無しさん
垢版 |
2021/03/18(木) 12:24:31.07ID:Ao1KNBsY
あるよ。もってるならそのアカウントを会社で使うし
持ってない人や会社とは別にしたい人は新しく作る
今はしらんけど無料アカウントは複数持てないので
どちらかを有料アカウントにする要津がある
0588デフォルトの名無しさん
垢版 |
2021/03/18(木) 13:09:23.00ID:7fQvPjcg
それはGitHubのアカウントだろ
0589デフォルトの名無しさん
垢版 |
2021/03/18(木) 14:29:23.28ID:QYSZQq5N
gitにアカウントなんてあるんだ
はつみみだわ
0590デフォルトの名無しさん
垢版 |
2021/03/18(木) 15:06:05.43ID:HfXxQmPX
git + sshd 最強
0592デフォルトの名無しさん
垢版 |
2021/03/18(木) 16:07:02.18ID:FvPGn+3+
gitのアカウント持ってるか聞かれて、bitbucketとか自前のホスティングサービスみたいなのを答えたらどうなるの?
こいつ空気読めねーなみたいな感じになるの?
0593デフォルトの名無しさん
垢版 |
2021/03/18(木) 22:01:51.13ID:/EsE4cAE
そういうときに本当に空気読めないのは「えっ?gitにアカウントなんてないですよ」って言うやつじゃないか?
0594デフォルトの名無しさん
垢版 |
2021/03/18(木) 22:31:26.93ID:Rnt4uQ59
gitのアカウントも知らないんですかと馬鹿にしたように言われて
噛み合わないまま
0595デフォルトの名無しさん
垢版 |
2021/03/18(木) 23:02:30.10ID:7fQvPjcg
Gitのアカウントもあるからな。

Gitのローカルユーザー名が、OSのユーザー名だと知らないのもイタいな。
0597デフォルトの名無しさん
垢版 |
2021/03/19(金) 01:29:38.99ID:hh9Kt8XT
WebデザイナーがGitHubのGitしか、説明しないからおかしくなる。
0602デフォルトの名無しさん
垢版 |
2021/03/19(金) 10:37:37.34ID:YNMGX1sb
ギフハブの正体

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

岐阜県への移住を応援する悪の秘密結社だった(?)
0603デフォルトの名無しさん
垢版 |
2021/03/19(金) 10:50:25.30ID:MMZWnUW+
おっかねーな
0606デフォルトの名無しさん
垢版 |
2021/03/26(金) 01:42:50.92ID:YMBMwB0G
あげ
0608デフォルトの名無しさん
垢版 |
2021/03/28(日) 19:48:47.28ID:Krp9vXha
kernel.orgにgitのコマンドや引数が網羅されているドキュメントがあったと思うんですが
URLをご存知の方おしえてください
0611デフォルトの名無しさん
垢版 |
2021/03/29(月) 15:22:33.89ID:CIMAnoRE
まさかと思ったけど、もしかしてmanページのことか?
0614デフォルトの名無しさん
垢版 |
2021/03/29(月) 22:54:46.19ID:/bgSgfa2
おれもそっちのほうがいいと思ったんだけどkernel.orgの方を探しているみたいだったので…
0619デフォルトの名無しさん
垢版 |
2021/04/01(木) 22:34:41.40ID:SRnc7vTe
git add . とgit add -A とgit add -A .は何が違うの?
次の認識でいい?
1つ目が、カレント以下のディレクトリのみを更新(add, modify, remove)
2つ目がレポジトリのルートから全部更新
3つ目は1つ目と同じ。
0620デフォルトの名無しさん
垢版 |
2021/04/03(土) 08:23:34.30ID:34TEePpI
windowsのandroid studioで、git/githubで管理してるプロジェクトがあるんですが、OSを新規インストールしてandroid studio/gitも新規インストールしました
ただ、プロジェクトは別のドライブにあるのでそのままですが、続きをやる場合は何が手っ取り早いのでしょうか?

一旦プロジェクトを削除してgithubからcloneしなおす以外に方法あったら教えてください
0622デフォルトの名無しさん
垢版 |
2021/04/03(土) 12:37:10.32ID:cIOl2khA
何故このスレで聞いてんの?
馬鹿なの?
0623デフォルトの名無しさん
垢版 |
2021/04/03(土) 17:09:28.94ID:34TEePpI
>>621
そうですか
githubのアカウントなどのリモートリポジトリの情報はどこに格納されてるのかなと思いまして
別のドライブのプロジェクト内に保存されてたらそのまま開けばよさげですが、その情報削除されてるならどうやって続きをと思った次第です
0627デフォルトの名無しさん
垢版 |
2021/04/12(月) 17:58:47.10ID:krJCqveJ
>>615読んで気になったんだけどPR出してから歴史の改ざんって出来ないかな・・・
セルフチェックせずに勢いで出してからあそこ違う、ここ、そこもとなってforce-pushのログで汚れてしまった
0631デフォルトの名無しさん
垢版 |
2021/04/12(月) 23:06:47.08ID:zj2MWyXX
どういうこと?
取り込まれる前なら出し直せばいいし、
取り込まれたらもうできないでしょ
0634デフォルトの名無しさん
垢版 |
2021/04/17(土) 13:17:35.49ID:/N2qyT4U
google colabでgithubから自作パッケージクローンしてpipインストール
その後、自作パッケージを変更してpip uninstall後に再pipインストールしても更新されない
colab内でpip showで辿った自作パッケージのソースコードは変更されてるのに。。
colabの「ランタイムを出荷時にリセット」てやってからだと当たり前だけどきちんと更新される
が、地味に時間がかかる・・
gitに限ったことじゃないけど
github + google colabで開発してる人はどうやって対応してるんだろ
0636デフォルトの名無しさん
垢版 |
2021/04/23(金) 21:50:55.54ID:PpQLqqbV
featureブランチでの機能追加とテストが完了した後masterへのマージでコンフリクトが発生した場合、逆マージ(masterをfeatureにマージ)とリベースどっちで競合解決するのが普通なんでしょう?
身内で以下のような感じで意見割れまして

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

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

実際には追いにくい
0638デフォルトの名無しさん
垢版 |
2021/04/23(金) 22:06:45.40ID:Q2nzZb5u
逆マージの問題はマージが2回発生すること

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

コンフリクト解消時に、ついでに一緒にって追加開発するなよ
近い場所を修正したときなど、簡単な修正が必要なコンフリクトは発生することはあるが
あとからコンフリクト解消の内容を精査するなんてことがあること自体がおかしい
0654デフォルトの名無しさん
垢版 |
2021/04/24(土) 23:15:28.50ID:v8PWrE/P
人よりできるようになってくると、自分より劣ってる人にひどい言葉を投げる現象に名前をつけたい。

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

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

git write-tree、git update-indexって面白そうなコマンドがあるから調べてみるか
0662デフォルトの名無しさん
垢版 |
2021/05/29(土) 19:04:50.82ID:E1EiRSsy
>>659
git worktree
0668デフォルトの名無しさん
垢版 |
2021/06/07(月) 12:01:25.51ID:Dgv9Eq7C
一個前にコミットした内容の一部のみ取り出したいんですが、
git diff でgit add -pみたいなやり方教えてください
0671デフォルトの名無しさん
垢版 |
2021/06/07(月) 14:52:02.09ID:2E0gqD7j
git rm ./path/to/file
だとオートコンプリート出来ない

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

アメリカのリベラルとか大変ですな。
0677デフォルトの名無しさん
垢版 |
2021/06/16(水) 23:17:10.02ID:O0nAs7bn
いち段落な
0681デフォルトの名無しさん
垢版 |
2021/06/24(木) 14:15:24.69ID:70oiT5zZ
δ株は差別語になりそう
0682デフォルトの名無しさん
垢版 |
2021/06/26(土) 18:40:42.75ID:yL+7RGEC
cliだけで特定のコミットのタイムスタンプを(両方とも)改竄したいんだけど
git rebase -i後のエディタが開いて操作対象のコミットを選ぶ奴、コマンドラインから直に指定するにはどうしたらいい?
0683デフォルトの名無しさん
垢版 |
2021/06/27(日) 00:06:42.93ID:CxF0bT8t
rebase -iでは無理なんじゃないかな
filter-branchを使えばエディタ無しでできると思うけど凄く面倒臭い
今はfilter-branchじゃなくてfilter-repoが新しいらしい
0684デフォルトの名無しさん
垢版 |
2021/06/27(日) 01:45:42.42ID:8QnlMqaw
非インタラクティブに操作したいのに--interactiveオプションを指定するのは筋が悪いのでは
reset --hard で対象に移動
commit --amend で書き換え
rebase --onto で残りを接ぎ木する
てな感じでできないだろうか
0685デフォルトの名無しさん
垢版 |
2021/07/05(月) 15:40:04.81ID:D5B478tw
project/prog/app
という構造のappディレクトリのみcloneすることはできないでしょうか?
sparse-checkoutを試してみたのですが確かにappだけ落ちてくるけどその上のprogフォルダも作られてしまいます
作業ディレクトリの中にappだけ作りたいんですけど可能でしょうか?
0686デフォルトの名無しさん
垢版 |
2021/07/05(月) 15:58:21.63ID:zfQ+6anv
muri
0687デフォルトの名無しさん
垢版 |
2021/07/05(月) 16:04:19.08ID:2eiMElPJ
部分cloneは無理だから巨大なのには関わりたくないんだよね
ガチ勢としてやるならともかくね
0689デフォルトの名無しさん
垢版 |
2021/07/08(木) 15:20:09.92ID:6v3NeDTQ
新人が分散VCSの概念理解できてなくて
プルリクエストのブランチの履歴をめちゃくちゃにしてる件
自分が何をしてるのかよく分からずforce pushしたっぽい
0692デフォルトの名無しさん
垢版 |
2021/07/08(木) 21:15:28.94ID:hDJTokQh
>>689 にも関係すると思うんだけど、
ブランチをpushできるユーザを制限できないかな

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

その先輩、新人に他の人がブランチをrebaseしたら
reset --hard origin/hogeするように連絡してなかったのかも
0697デフォルトの名無しさん
垢版 |
2021/07/09(金) 10:50:38.48ID:1nwtDT4u
リポジトリごと別にしたら?
新人用のリポジトリ作ってそこにコミットしてもらい、問題無ければマスターへは権限者がマージする。
0698デフォルトの名無しさん
垢版 |
2021/07/09(金) 11:49:04.59ID:y//2bXB2
みなさんありがとうございます。

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

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

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

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

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

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

gitlabは環境を変えなきゃならん可能性があるから情シスは嫌がるだろうね
giteaとかのバイナリ一個で動作するのならいいかもよ
0707デフォルトの名無しさん
垢版 |
2021/07/11(日) 21:52:00.80ID:Km8X0WTE
GitLab自鯖にインストールしたことあるけど重すぎワロタ
アンインストールもできなくなるほど瀕死の操作不能になった
0708デフォルトの名無しさん
垢版 |
2021/07/11(日) 22:29:17.98ID:LL6sPKEi
WindowsでDocker Toolbox使ってVirtulaBox上のDockerコンテナとして動かしてもそんなに重くはなかったがな。
0709デフォルトの名無しさん
垢版 |
2021/07/12(月) 08:39:43.46ID:Y3qBMERg
>>707
最初は軽いんだけど、使ってくと段々と重くなるんだよな
軽くする方法がわかんなくて、結局使うのやめた
0713デフォルトの名無しさん
垢版 |
2021/07/24(土) 11:39:52.29ID:2Wdt1Zvr
HAGEが必死すぎ
0721デフォルトの名無しさん
垢版 |
2021/08/02(月) 21:33:55.74ID:0iPmXdT5
filter-branchはじめて使ったんだけどこれって失敗することあるの?
なんかコミット全部に影響出るからこわい
0728デフォルトの名無しさん
垢版 |
2021/08/03(火) 22:05:47.47ID:vFbEe1/E
>>719
FSFが「GitHub Copilot」に疑問視、ホワイトペーパーを募集
https://mag.osdn.jp/21/08/04/131400

具体的な関心領域としては、
「著作権を侵害した公開リポジトリ上でトレーニングしているのか? フェアユースか?」
「Copilotのアウトプットが、GPLでライセンスされている作品を侵害していることを主張する可能性はどのぐらいあるか?」
「Copilotが生成する侵害に対して、開発者はどのようにして自分が著作権を持つ任意のコードを保護できるのか?」
などを挙げている。
0733デフォルトの名無しさん
垢版 |
2021/08/11(水) 01:50:42.29ID:nkK5xEJr
githubの使い方を勉強しています。

githubのDefault branchがmainとなっているのですが、[git branch]と打っても表示されません。
プッシュしようとしても main は存在しないと出てきてしまいます。
master が表示されているので、そこにプッシュすることはできましたが、ブラウザ上で最初に表示される
ブランチがmainなので、もやっとします。
何か対処方は有りませんでしょうか?
0736デフォルトの名無しさん
垢版 |
2021/08/12(木) 10:35:07.83ID:Zo0evqt7
別の人が聞いてるんだから何度言ったところで終わりなんてないぞ
そういえば>>1やテンプレに誘導がないので、書いておけば少しは減るかもな
0739デフォルトの名無しさん
垢版 |
2021/08/21(土) 01:22:27.49ID:MIM0rlCw
リポジトリのすべてのコミット履歴から特定の文字列を削除したいんですが良い方法無いですか?
filter-branchするしかないでしょうか?
0740739
垢版 |
2021/08/21(土) 02:28:12.51ID:MIM0rlCw
すみません
filter-branchでやりました
0741デフォルトの名無しさん
垢版 |
2021/08/21(土) 03:02:27.50ID:MIM0rlCw
20ファイルぐらいあるんですが今、filter-branchで1つずつ削除しています
たぶん土日潰れそうです
0742デフォルトの名無しさん
垢版 |
2021/08/21(土) 20:58:05.05ID:c3XZUC80
>>30
去年のレスで申し訳ないけど
VSCodeやxcodeだと、git statusで差分があるファイルの色を変えたり 表示を絞り込んだり出来るじゃん
ちまちまコミットしているとそれが出来なくなる(コミットする度に差分が無くなって特別扱いされるファイルが減る)
のが困るんだけど、どうにかなりませんか
0744デフォルトの名無しさん
垢版 |
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 は我々に教えてくれます
0747デフォルトの名無しさん
垢版 |
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)
しても問題の文字列は綺麗になってました
0748デフォルトの名無しさん
垢版 |
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を入れています。
0749デフォルトの名無しさん
垢版 |
2021/09/07(火) 08:38:42.77ID:cFJK6MoD
>>748
gitには今の最新のソースからリポジトリを一から作って
過去の変更履歴を参照したければcvsから見る、って運用ではダメなの?
0751デフォルトの名無しさん
垢版 |
2021/09/07(火) 11:05:48.63ID:+uF9wCX0
特定のバージョンが必要なら一旦それ入れれば良いだけだろ
要は変換できる環境で変換してしまえばできたものを持ってくればそれで良いんだから
0752デフォルトの名無しさん
垢版 |
2021/09/07(火) 12:40:17.05ID:jsklYBqQ
おお、皆さんコメントありがとうございます。

>>749

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

>>750

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

>>751

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


いろいろありがとうございました。
全ての要件を満たしてというのは難しそうですね。
いただいた意見を参考にもうちょっと検討します。
0753デフォルトの名無しさん
垢版 |
2021/09/08(水) 12:26:53.74ID:H9wC4dw3
git cloneする時にsshのurl指定でBranchまで指定する事って出来るの?
-bとか使わないで
0754デフォルトの名無しさん
垢版 |
2021/09/11(土) 03:42:20.13ID:s/DqN445
>>753
それ出来ないと思う
海外サイトで@でブランチ指定とか/でブランチ指定とかでやれるって書いてあるサイトも見つけたけど
実際やって見ても全然上手くいかねぇ
0755デフォルトの名無しさん
垢版 |
2021/09/12(日) 00:33:12.39ID:cVqmkIqS
ガチでない用途、雑多スクリプト集とかは平気で半年コミットしてないのとかあるんですけど
ローカルディレクトリをスキャンして最終編集日 - 最終コミット日の数字が多い順に表示して
いい加減コミットするか編集内容破棄するかしろと警告してくれるツールとかないですか
0757デフォルトの名無しさん
垢版 |
2021/09/13(月) 17:58:18.08ID:ryD/6XDI
リモートのHEADをリモートのdevelopを参照させるようにしたいのですがやり方がさっぱりわかりません。
とても単純なことのように思えるのですがどの方法でやってもSourceTreeなどでクローンするとmaster参照してて困ってます。
origin/HEAD -> origin/master
教えてくださいお願いいたします。
0758デフォルトの名無しさん
垢版 |
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が参照してほしいのです。
そうしないと上に登ってってチェックアウトしないとだから。
0762デフォルトの名無しさん
垢版 |
2021/09/17(金) 18:11:47.26ID:J7t/c3vE
shallow clone(--depth 1)で特定コミットの指定な

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

なぜかgit fetchではSHA1指定とdepthの組み合わせが出来るらしい
解せぬ
0763デフォルトの名無しさん
垢版 |
2021/09/22(水) 21:09:14.14ID:E7BplCoS
>>99
番号割り振ればできるだろ、知恵を絞れよ
何のために頭付いてるんだ、大学生にもなってなんだその頭の悪さは
gitのせいか、gitのせいでそんなに頭の悪い人間になってしまったんだな
ようし、gitを禁止します
0764デフォルトの名無しさん
垢版 |
2021/10/06(水) 17:21:18.09ID:k/56VNFd
ブランチ切り忘れてコミットしまくったあとに
過去にさかのぼってブランチを作成して
全部そこで作業していたことにしたいんだけど
どうしたらいいかな?
0766デフォルトの名無しさん
垢版 |
2021/10/06(水) 17:30:20.63ID:WIlNjQ3U
間違ってコミットしまくったブランチをまだpushしてないなら
コミットしまくった最後のコミットで新しいブランチ作って
間違ってコミットしまくったブランチの方を「git reset --hard origin/間違ったブランチ」とかすれば良いだろ?
0771デフォルトの名無しさん
垢版 |
2021/10/14(木) 13:19:16.57ID:kAsx6HNe
知っている方いたら教えてください。

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

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

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

逆に、gitはリモートリポジトリ無しでローカルリポジトリのみの運用というのができるから、まずはそれで色々と試したら?
0777デフォルトの名無しさん
垢版 |
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以外にも日本語で紹介/解説しているサイトがいろいあるみたいなので、まずはそちらで勉強してみます。

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

またここで追加質問しちゃうかもしれませんがよろしくお願いします。
0779デフォルトの名無しさん
垢版 |
2021/10/17(日) 09:58:04.13ID:Q0jShLZX
個人で開発してる場合に、subversionと比較してGitのほうが優れていることってどんなことがありますか?
Git使ってみてるんですが、ローカルリポジトリとリモートリポジトリに別れてるのが面倒くさく感じてしまうんです。
0782デフォルトの名無しさん
垢版 |
2021/10/17(日) 13:55:53.46ID:2tMovdDG
個人でやってるならリモートリポジトリを使う必要ないよ
別の場所にバックアップしたいときだけ稀にプッシュしておいてもいいかな程度
Gitはブランチ開発が圧倒的に便利
次バージョンの開発をしながら、ヤバいバグを見つけたらスイッチして現行リリースにパッチを当てるなんて作業がやりやすい
コミット等の操作を間違えたときの復元方法も充実してるからガンガンコミットするスタイルが身についてロスがない
あまりにも小規模な開発しかしてないならGitに移行したところで便利さに気付かないかもね
0783デフォルトの名無しさん
垢版 |
2021/10/17(日) 14:17:13.86ID:4gFBmPmU
svnはもう使わなくなってから何年も立つけど、ローカルブランチ作るのに全コピーが発生する問題は改善されたん?
gitは瞬間的にローカルブランチ作れることが、当時、最大のメリットだと個人的には感じてたけど
0785デフォルトの名無しさん
垢版 |
2021/10/17(日) 15:15:03.36ID:2tMovdDG
svnも物理コピーしてるわけじゃなくポインタをコピーしてるだけだからそこは別にデメリットではないと思う
0789デフォルトの名無しさん
垢版 |
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を消すと秒で終わる
これは仕様?
0794デフォルトの名無しさん
垢版 |
2021/11/07(日) 12:37:05.54ID:UQcl36Q5
gitとgithubの区別がつかない人がMSアレルギーをこじらせている姿はもう見飽きた
情報のアップデートをできずに屈折した持論を垂れ流すから老害の部類かな
0795デフォルトの名無しさん
垢版 |
2021/11/08(月) 21:23:48.94ID:Tlvj8hhG
それはもはやチテキショウ害なのでは
0796デフォルトの名無しさん
垢版 |
2021/11/11(木) 10:05:05.74ID:SpIFedoW
わろす
0800デフォルトの名無しさん
垢版 |
2021/11/27(土) 18:33:16.18ID:EO01MlFX
プライベートなリポジトリをローカルにcloneしようとしたら
重いファイル(15MB程度)だけ弾かれる・・どうして・・
ちなみに学習済みの.h5ファイル
何か制限緩和するような手続きしないといけないのかな
(ただ、google経由だと全部cloneできた)
全然わからん・・
0801デフォルトの名無しさん
垢版 |
2021/11/30(火) 21:35:19.46ID:a/ltCSu7
10年程昔からの自作のフリーウェアを git で公開しようとしているんだけど
あまり昔の version はもう環境が変わっていて動かない
動くものだけを公開した方が良いのかな
それとも最新のものだけにした方がいいですか
0804デフォルトの名無しさん
垢版 |
2021/12/09(木) 01:56:53.52ID:8VFa9Xh4
gitの変更履歴より細かい単位で変更を戻したいとき、うまい方法はありますかね。
例えば一つのファイルの中で3つの関数を変更してコミットした後、1つの関数だけ
元に戻したくなった場合などに。
0805デフォルトの名無しさん
垢版 |
2021/12/09(木) 06:55:22.90ID:CTJ8MnG2
>>804
その関数を変更した後にコミット
0806デフォルトの名無しさん
垢版 |
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つは戻ればいい
0810デフォルトの名無しさん
垢版 |
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

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

なんというか、作業方法なども含めてキレイ&楽にやる方法はどんな感じかなと。
例えばそもそも論だと、最初からこういう場合に備えてコミットを関数1個毎とか細かくしておく?
アメンドないしリセットしてやり直す場合も、どうやって変更を用意しようかなと... もう一回
同じ変更を入力したくはないし危険... とかなんとか。
0813デフォルトの名無しさん
垢版 |
2021/12/09(木) 10:00:49.33ID:z12/cdNE
>>812
だから何をしたいのかはっきりしろ
pushしてないのは分かった
pushしてないローカルな履歴を改変したいのか?
pushしてないローカルな履歴に関数の修整を無効化するコミットを追加したいのか?
0814デフォルトの名無しさん
垢版 |
2021/12/09(木) 10:05:24.50ID:Dni9SPWj
>>812
変更の用意はrevert -nとreset -pでいいだろ
この2つを使えば自分でコードを入力する必要は無い
0817デフォルトの名無しさん
垢版 |
2021/12/09(木) 13:53:35.69ID:CTJ8MnG2
もう面倒くさいから一か所もどしましたってコミットしたらいいやん
0822デフォルトの名無しさん
垢版 |
2021/12/09(木) 15:28:07.01ID:1oFDwxyl
>>812
そもそも論の部分に回答すると、意思決定の基本は発生率とコストを掛け合わせた期待値次第
いちいち細分化しすぎてもYAGNIの法則で言われるような無駄が多くなるだけ
でも後から部分的に採用する可能性もそれなりにあるのであれば分けてコミットしておくことでコストを抑えられる可能性が増す
0823デフォルトの名無しさん
垢版 |
2021/12/09(木) 18:55:14.96ID:lg/9Dj4Y
>>812
そもそも論で言うなら、追加・修正する機能ごとにブランチを切って、完成したブランチを別々にコミットすればいい。gitはブランチが軽量という強みもあるし。

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

作ってる途中で、この修正はこのコミットに含めよう
などと考えならが小さくコミットし
適度なタイミングでrebaseする
0836デフォルトの名無しさん
垢版 |
2022/01/17(月) 06:52:31.08ID:pA35C6jo
>>831
別ブランチでcommitして、masterにまとめてmergeしてpushする、って方法もあるよ
これだとrebaseは不要
0837デフォルトの名無しさん
垢版 |
2022/01/23(日) 09:44:11.74ID:6R0k9GT3
gitもcvs,svnと同じ運命をたどるだろう
私の企業は次世代バージョン管理システムfossilに切り替えました
0839デフォルトの名無しさん
垢版 |
2022/01/24(月) 15:13:36.64ID:TB1mn4oZ
次世代って書いてるけどGitやMercurialと同期だね
統合が特徴みたいだけど、少なくとも統合指向=先進的というのは言えない
昔のMSや古いエンタープライズシステムが通ってきた道
0845デフォルトの名無しさん
垢版 |
2022/02/04(金) 16:53:15.37ID:ldQUlQ88
>>844
gitを業務で使われている方は翻訳に参加してください
0846デフォルトの名無しさん
垢版 |
2022/02/08(火) 12:18:02.21ID:nuxork7Z
ウクライナのGitLabがやばいな
0848デフォルトの名無しさん
垢版 |
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が禁止されていたりしますかね?
0853デフォルトの名無しさん
垢版 |
2022/03/22(火) 15:19:11.35ID:Oh3PkPXA
ブランチにアクセス権を設定できるサーバなら、メインのブランチにはプルリクエスト処理する人だけがアクセス可能にして、強制push禁止と強制ブランチ削除禁止の設定はいらん気もするね
でも本家gitにはブランチ単位のアクセス権は無いよね確か
0860デフォルトの名無しさん
垢版 |
2022/04/01(金) 00:22:46.86ID:46G1puQR
totoiesegit使ってんですけ、コミットしただけでチェックアイコンに変わるんで
pushし忘れることが多いんですけど、区別できないんですか?
0865デフォルトの名無しさん
垢版 |
2022/04/02(土) 16:17:20.40ID:y/uyzFp6
リポジトリにあさんが変更をプッシュしたことをいさんはどうやって知れるのですか?
あさんからいさんへメールなりで連絡?
いさんがフェッチなり、プルすれば分かるんですが・・・
0866デフォルトの名無しさん
垢版 |
2022/04/02(土) 16:43:53.49ID:66/F4m6m
>>865
本来gitで想定されている正しい使い方としてはメールで連絡
今時の普通のチームならGitHubでpull requestを出す
0867デフォルトの名無しさん
垢版 |
2022/04/02(土) 16:46:06.34ID:eQjRdGtS
共有するリポジトリの置き場所に素のgitを使ってない限り、何らかの通知する仕組みはあるだろ?
素のgitでもスクリプト仕込めばできるけど面倒だな「git hooks 通知」でぐぐれ
0868デフォルトの名無しさん
垢版 |
2022/04/02(土) 17:04:36.48ID:y/uyzFp6
totoiesSVNの時はフォルダのアイコンが!に変わるから
logを表示させればだれが、どこを変更したか分かるけど
gitの場合、アイコン変わっていないから何時フェッチ、プルすればいいかわからない

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

いちいちメールかなにかで連絡もらえれば、プルするから実害はないんだけど
0872デフォルトの名無しさん
垢版 |
2022/04/02(土) 17:37:22.85ID:OkBLvXjb
git push したらvpsのソースが更新されるようにしたのに、ヒミツ鍵でログインするタイプのvpsに変えたらgit pushでエラーが出るようになったわ
0876デフォルトの名無しさん
垢版 |
2022/04/03(日) 00:33:31.34ID:TSy6KLqO
git reflogを時間指定して実行すると上手くログが取得できないんだが、自分だけ?
git logは普通に動く
0879デフォルトの名無しさん
垢版 |
2022/04/04(月) 18:26:27.90ID:uBqMrhkR
>>876
reflogで表示される時間はその操作が行われた時間ではなくてその操作の結果のHEADのコミットの時間で、reflogの--afterとかによる表示範囲判定は操作が行われた時間に基づいて判定されるぽいから、変な風に感じる?
HEADのコミットの時間でなくて操作した時間をreflogで表示する方法はあるのかな
0881デフォルトの名無しさん
垢版 |
2022/04/05(火) 06:57:58.21ID:qPBzPdZO
>>880
こういうのが居ると無駄なマージ履歴が残る。
コミットまたはプッシュする前にプルしてマージ完了した状態でプルするルールにしてる。
0883デフォルトの名無しさん
垢版 |
2022/04/05(火) 07:02:20.74ID:HDipRGT6
>>881
これはfetchかpullのタイミングの話であって、それとこれとは別の話だよ
それはpull request用のブランチにsquashなりすれば解決することだろ
0884デフォルトの名無しさん
垢版 |
2022/04/05(火) 07:09:17.66ID:LSxkXP/U
squashするとまた意味が変わってくる
無駄なマージコミットを気にするならpull --rebaseするといい
0885デフォルトの名無しさん
垢版 |
2022/04/05(火) 08:27:03.94ID:Tv9hyPpM
内容ごとにブランチを切って、実装完了後にマージしたほうがいい。
こまめにマージする必要あるけど。
0886デフォルトの名無しさん
垢版 |
2022/04/05(火) 08:37:26.26ID:VZWFnuGC
rebaseすると途中のコミットが見たことないスナップショットに化けるから諦めてmergeする派
0890デフォルトの名無しさん
垢版 |
2022/04/10(日) 12:43:00.27ID:gTtQQEaq
今からGitを始めます初心者の質問です。

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

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

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

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

しかし、コミットのメールアドレスは重要でないというわけでもなくて、コミット一覧とか表示させたときにコミットのメールアドレスに基づいてユーザ名とか写真を表示したりするので、githubのアカウントに登録してあるメールアドレスをgitの方にも登録しておくほうが良い
0904デフォルトの名無しさん
垢版 |
2022/04/11(月) 20:59:30.97ID:voKtAiO9
>>901
少し上のレスを見ればわかるけど、その質問は「また釣りか」と思われてまともなレスは付かない。
0905デフォルトの名無しさん
垢版 |
2022/04/13(水) 01:15:32.19ID:TZC3qPMK
とある本の不要になったブランチを削除する手順で
@リモートリポジトリの消したいブランチを削除
ASourcetreeのフェッチのリモートで消えた追跡ブランチを消去(Prune)
BSourcetreeの消したいローカルブランチを右クリックして削除
とありますが、@がリモートリポジトリのブランチを削除、
Bがローカルのそれだとすると
Aの手順にはどんな意味があるのでしょうか
0906デフォルトの名無しさん
垢版 |
2022/04/13(水) 02:12:16.50ID:eS/flNB4
ブランチには@リモートブランチ A(リモート)追跡ブランチ Bローカルブランチの3種類がある
文脈によってこれらはしばしば混同されるので気をつけていないと混乱する
@はサーバー側にあり、ABはクライアント側にある
Aは常に@のコピーで、フェッチするたびに@の最新と同期される
だからネットワークに繋がっていなくてもいつでもリモートのログが見れる
「リモートブランチのログを見る」というとき、正確には@ではなくAのログを見る行為を指す
フェッチしていなければ@ABが全て別のコミットを指すこともある
Aを消し忘れると、サーバー側のブランチは削除済みなのに、そのクライアントからはまだリモートブランチが消えていないように見える
0920デフォルトの名無しさん
垢版 |
2022/04/15(金) 18:54:21.17ID:C9bHMdiD
GUIのGitクライアントは面倒だよ
なんて言ってる先輩いるだけど
ほとんどコードは書けなくて、コピペしてそのコピペしたコードの意味も分かってない

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

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

やっぱりコマンドをタイプしてる方がカッコいいと思うタイプ?w
0940デフォルトの名無しさん
垢版 |
2022/04/16(土) 11:10:09.03ID:smzxZJvo
>>939
コマンドをタイプするのはかっこいいと思ってしまったから
お前はそんな書き込みをしたんだよね?
0942デフォルトの名無しさん
垢版 |
2022/04/16(土) 11:16:03.64ID:qSyY7sm9
あるある

コマンドを使ってるカッコイイと勘違い
Linuxを使ってるカッコイイと勘違い
ダークテーマを使ってるカッコイイと勘違い
vi emacsを使ってるカッコイイと勘違い
0945デフォルトの名無しさん
垢版 |
2022/04/18(月) 20:18:29.80ID:lvtGJgyq
CUIかGUIかなんてどーでも良いことには一切こだわらず
俺にとって使いやすい方法を採用してる俺様カコイイ
0948デフォルトの名無しさん
垢版 |
2022/04/19(火) 23:15:59.06ID:fQcWHs5l
プルリクって要る?
製品名出せば誰でも知ってるソフトの開発でも
目クラマージだぞ
正直、いちいちプルリク出すくらいなら、そっちでマージしてほしい
権限考え直してほしいわ
0952デフォルトの名無しさん
垢版 |
2022/04/21(木) 15:42:47.36ID:Ex423fK8
先輩「CUIのほうがgitの機能をすべて使えるからいいよ」

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

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

おれ「・・・」
0954デフォルトの名無しさん
垢版 |
2022/04/21(木) 18:49:26.99ID:BFaC4LhO
ディレクトリを指定してpullする機能なんて無いし
pullに引数指定しなければいけないような状況はfetchとmergeを使うから、おれもgit pullの引数有りの挙動は把握してない
0955デフォルトの名無しさん
垢版 |
2022/04/21(木) 18:55:10.99ID:Ex423fK8
おまえらって本質がわかないのか?

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

git hoge

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

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

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

うちの会社にもいるわ
講釈たれてる暇があるならさっさとコーディング終わらせろよwwwww
0975デフォルトの名無しさん
垢版 |
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したら怒れるということだろう
0976デフォルトの名無しさん
垢版 |
2022/04/23(土) 00:07:18.92ID:iISBdnEI
>>975
何を言ってるかわからない。
pull というのは「 fetch して merge 」という操作をまとめてやるだけのコマンドなので当然 merge の意味を内包してる。
fetch せずに merge って言いたいの? それってどうやって対象を持ってくるの?
自分のリポジトリから持ってくるだけなら他人から request される必要ないし?
0978デフォルトの名無しさん
垢版 |
2022/04/23(土) 00:51:13.69ID:1bxGV6XJ
>>976
いや同一のGitHubリポジトリ上でpull requestをマージするときにfetchは要らないでしょ
>>975の言うとおり、本来リポジトリを跨がるからfetch+mergeでpullなんだよ
0979デフォルトの名無しさん
垢版 |
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とはあまり呼ばないな
0980デフォルトの名無しさん
垢版 |
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 が必要になるので普通やらないし、できない。
0981デフォルトの名無しさん
垢版 |
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してもいい
0982デフォルトの名無しさん
垢版 |
2022/04/23(土) 02:02:56.04ID:HOOXt/T3
>>980
pushでFFじゃないmergeってできるの?できても今は普通しないでしょ
FFでmergeできない場合には、ローカルでmergeしてFFにしてpushするか、push -sで上書きが普通だし
0983デフォルトの名無しさん
垢版 |
2022/04/23(土) 02:12:55.85ID:iISBdnEI
>>982
できるけど、おすすめではない。
ただ push は merge と同じ機構という点が理解できてれば良い。
0985デフォルトの名無しさん
垢版 |
2022/04/23(土) 02:23:24.07ID:iISBdnEI
>>981
いきなり共用リポジトリ上でマージしたりしない。そういう運用ルールの組織があるとしたらかなり頭悪い。git の使い方が半分しか理解できてない。
共用リポジトリは問題があってもロールバックできない(超めんどう)なので、共用リポジトリの master には手元でのテスト等が終わって問題ないもののみを入れるのが普通。
0986デフォルトの名無しさん
垢版 |
2022/04/23(土) 02:38:54.73ID:HOOXt/T3
ローカルでマージしてmasterへpushするって言ってる人たちはmasterへのpush権限をみんなが持ってるの?
0987デフォルトの名無しさん
垢版 |
2022/04/23(土) 02:43:01.86ID:iISBdnEI
master へ push する権限を持ってる人がローカルで master に merge する作業をする。当然の話。
0988デフォルトの名無しさん
垢版 |
2022/04/23(土) 02:47:09.01ID:1bxGV6XJ
分野にもよるのかもしれんが、少なくともWeb系はGitHub上でマージするのが普通
直接mainにマージしたくないなら
0989デフォルトの名無しさん
垢版 |
2022/04/23(土) 02:49:26.76ID:HOOXt/T3
>>985
もちろんプルリクエスト出す段階でローカルにテストは済んでる前提だし、masterへマージされた後にそれがダメならrevertするよ?

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

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

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