独自のGitサーバーをインストールし、認証後にコードをプッシュします。

独自のGitサーバーをインストールし、認証後にコードをプッシュします。

RedHat 6.5システムにGitサーバーをインストールしようとしていますが、
次のチュートリアルに従ってください。12サム、率直に言えば読むほどあいまいなものが多くなりました。

デフォルトリポジトリの所有者になり、コミットを担当するgitユーザーを作成した場合、開発者が間違ったコード(gitolite、新しいものがありますか?)をプッシュするのをどのように防ぐことができますか?
コードがレビューされ、プッシュ権限が付与されている場合にのみ開発者がプッシュできるようにしながら、gitサーバーの最も簡単な設定は何ですか(私はgitlabが好きですが、上司はそれを許可しません)。

注:すべての開発者はSSHを介してサーバーにアクセスできます。私は彼らのssh.pubキーを収集しました

答え1

あなたの質問に答えてください:

デフォルトのリポジトリの所有者になり、コミットを担当するgitユーザーを作成したい場合は、開発者が間違ったコードをプッシュするのを防ぐことができますか?

答えはgitユーザーを作成することではありません。標準のUNIXユーザーとグループを使用して、リモートストレージへのアクセスを制御できます。 gitプッシュはSSHを介して機能するため、SSHを介してリポジトリをホストしているサーバーに接続できる限り、リポジトリから読み取り、複製、インポート、サーバーのアカウントからリポジトリを読み取ることができます。リポジトリへの書き込みアクセス権もある場合は、コミットをプッシュすることもできます。

答え2

gitでデフォルトで有効になっている機能の1つは次のとおりです。

git push --force

一般的な状況では、常に次のようにリポジトリでこの機能を無効にする必要があります。

git config --system receive.denyNonFastForwards true

マージワークフローのシナリオは、プルリクエストが多い場合に問題になる可能性がありますが、最善の解決策は常に開発者がGitを実際に理解することができ、コミットを多くしない可能性がある優れたマージおよび分離開発タスクを持つことです(主に、できないから)。バージョン管理の本質)可能であれば、競合が減ります。良いトレーニングと理解が常に最高です。コミットをローカルにリベースしてこれを防ぐこともできます。 2番目のオプションはGithubです。この場合、信頼できるリポジトリの重要なブランチをプッシュする複数の管理者はいません。

関連情報