Git ਵਿੱਚ OpenVPN ਪ੍ਰੋਫਾਈਲ: ਕਮਿਟ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਕੀ ਹਟਾਉਣਾ ਹੈ
ਫਾਈਲ ਨੂੰ ਅੰਦਰ ਰੱਖੀਆਂ ਕੁੰਜੀਆਂ ਲਈ ਪੜ੍ਹੋ, ਤੈਅ ਕਰੋ ਕਿ ਰਿਪੋਜ਼ਟਰੀ ਕੀ ਵੰਡ ਸਕਦੀ ਹੈ, ਅਤੇ ਇਤਿਹਾਸ ਮੁੜ ਲਿਖਣ ਤੋਂ ਪਹਿਲਾਂ ਰੱਦ ਕਰੋ।
ਪ੍ਰੋਫਾਈਲ ਇੱਕੋ ਸਮੇਂ ਦੋ ਕੰਮ ਕਰਦੇ ਹਨ: ਉਹ ਕਨੈਕਸ਼ਨ ਸੈਟਿੰਗਾਂ ਦਰਜ ਕਰਦੇ ਹਨ, ਅਤੇ ਉਹ ਕੰਮ ਕਰਨ ਵਾਲੇ ਪ੍ਰਮਾਣਾਂ ਦਾ ਬੰਡਲ ਲੈ ਕੇ ਚੱਲਦੇ ਹਨ। ਫਾਈਲ ਦਾ ਐਕਸਟੈਂਸ਼ਨ ਤੁਹਾਨੂੰ ਕੁਝ ਨਹੀਂ ਦੱਸਦਾ ਕਿ ਤੁਹਾਡੇ ਹੱਥ ਵਿੱਚ ਇਹਨਾਂ ਵਿੱਚੋਂ ਕਿਹੜਾ ਹੈ। ਇਹ ਰਿਪੋਜ਼ਟਰੀ ਦੀ ਹੈ ਇਹ ਤੈਅ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਸਮੱਗਰੀ ਪੜ੍ਹੋ।
ਹੇਠਾਂ ਦਿੱਤੇ ਕਦਮ ਮੰਨਦੇ ਹਨ ਕਿ ਕਲਾਇੰਟ ਟੈਂਪਲੇਟ ਨੂੰ ਵਰਜ਼ਨ ਨਿਯੰਤਰਣ ਲਈ ਵਿਚਾਰਿਆ ਜਾ ਰਿਹਾ ਹੈ। ਇਹਨਾਂ ਨੂੰ ਕ੍ਰਮ ਵਿੱਚ ਚਲਾਓ, ਅਤੇ ਜੋ ਤੁਸੀਂ ਰੱਦ ਨਹੀਂ ਕਰ ਸਕਦੇ ਉਹ ਕਮਿਟ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਰੁਕੋ।
ਉਹ ਫਾਈਲ ਪੜ੍ਹੋ ਜੋ ਤੁਸੀਂ ਸਟੇਜ ਕਰਨ ਜਾ ਰਹੇ ਹੋ
ਅਸਲ ਬਾਈਟਾਂ ਤੋਂ ਸ਼ੁਰੂ ਕਰੋ, ਕਿਉਂਕਿ ਵੱਖਰੀਆਂ ਫਾਈਲਾਂ ਦਾ ਹਵਾਲਾ ਦੇਣ ਵਾਲਾ ਪ੍ਰੋਫਾਈਲ ਉਹਨਾਂ ਨੂੰ ਅੰਦਰ ਰੱਖਣ ਵਾਲੇ ਨਾਲੋਂ ਬਿਲਕੁਲ ਵੱਖਰਾ ਦਿਸਦਾ ਹੈ। PEM ਬਲਾਕ ਨਿਸ਼ਾਨ ਅਤੇ ca, cert, key, tls-auth ਤੇ tls-crypt ਨਾਮ ਦੇ ਇਨਲਾਈਨ ਟੈਗ ਲੱਭੋ, ਅਤੇ ਉਹੀ ਜਾਂਚ ਦੋਵੇਂ ਹਾਲਤਾਂ ਦਿਖਾ ਦੇਵੇਗੀ। ਐਨਕ੍ਰਿਪਟ ਕੀਤੀ ਪ੍ਰਾਈਵੇਟ ਕੁੰਜੀ ਅਜੇ ਵੀ ਸੰਵੇਦਨਸ਼ੀਲ ਸਮੱਗਰੀ ਗਿਣੀ ਜਾਂਦੀ ਹੈ, ਅਤੇ ਸਾਂਝੀ tls-auth ਜਾਂ tls-crypt ਕੁੰਜੀ ਪ੍ਰਮਾਣ ਹੈ ਭਾਵੇਂ ਉਹ ਵਰਤੋਂਕਾਰ ਦੀ ਪਛਾਣ ਨਾ ਹੋਵੇ। ਪ੍ਰੋਫਾਈਲ ਨਾਲ ਸਟੇਜ ਹੋਣ ਵਾਲੀ ਹਰ ਚੀਜ਼ ਉੱਤੇ ਉਹੀ ਸਮੀਖਿਆ ਲਾਗੂ ਕਰੋ, ਜਿਸ ਵਿੱਚ ਪ੍ਰਮਾਣ ਫਾਈਲ ਦਾ ਹਵਾਲਾ ਦੇਣ ਵਾਲੀਆਂ ਆਰਕਾਈਵਾਂ ਅਤੇ ਸੈਟਅਪ ਸਕ੍ਰਿਪਟਾਂ ਸ਼ਾਮਲ ਹਨ।
ਫਿਰ ਕੰਮ ਕਰਨ ਵਾਲਾ ਰੁੱਖ ਨਹੀਂ, ਸਟੇਜ ਕੀਤਾ ਸੈਟ ਵੇਖੋ। git diff --cached ਦਿਖਾਉਂਦਾ ਹੈ ਕਿ ਕਮਿਟ ਵਿੱਚ ਅਸਲ ਵਿੱਚ ਕੀ ਹੋਵੇਗਾ, ਅਤੇ ਇਸ ਫੈਸਲੇ ਲਈ ਸਿਰਫ਼ ਉਹੀ ਸੰਸਕਰਣ ਮਹੱਤਵ ਰੱਖਦਾ ਹੈ।
ਤੈਅ ਕਰੋ ਕਿ ਰਿਪੋਜ਼ਟਰੀ ਕੀ ਵੰਡ ਸਕਦੀ ਹੈ
ਟੈਂਪਲੇਟ ਸਾਂਝੀਆਂ, ਸਮੀਖਿਆ ਕੀਤੀਆਂ ਸੈਟਿੰਗਾਂ ਅਤੇ ਦਾਖਲੇ ਵੇਲੇ ਵਿਅਕਤੀ ਨੂੰ ਮਿਲਣ ਵਾਲੀ ਹਰ ਚੀਜ਼ ਲਈ ਨਾਮਿਤ ਪਲੇਸਹੋਲਡਰ ਲੈ ਕੇ ਚੱਲ ਸਕਦਾ ਹੈ। ਜੋ ਉਹ ਨਹੀਂ ਲੈ ਕੇ ਚੱਲ ਸਕਦਾ ਉਹ ਵਰਤੋਂਯੋਗ ਪਛਾਣ ਹੈ, ਕਿਉਂਕਿ ਰਿਪੋਜ਼ਟਰੀ ਉਸ ਨੂੰ ਪੜ੍ਹ ਸਕਣ ਵਾਲੇ ਸਾਰਿਆਂ ਨੂੰ ਵੰਡੀ ਜਾਂਦੀ ਹੈ, ਸਵੈਚਾਲਨ ਸਮੇਤ। ਨਿੱਜੀ ਰਿਪੋਜ਼ਟਰੀ ਦਰਸ਼ਕਾਂ ਨੂੰ ਘਟਾਉਂਦੀ ਹੈ ਪਰ ਇਹ ਸਵਾਲ ਨਹੀਂ ਬਦਲਦੀ ਕਿ ਕੀ ਹਰ ਪਾਠਕ ਉਸ ਪ੍ਰਮਾਣ ਲਈ ਅਧਿਕਾਰਤ ਹੈ।
ਅਣਡਿੱਠ ਨਿਯਮ ਭਵਿੱਖ ਦੇ ਜੋੜਾਂ ਨੂੰ ਰੋਕਦਾ ਹੈ ਅਤੇ ਪਹਿਲਾਂ ਹੀ ਦਰਜ ਹੋਈ ਚੀਜ਼ ਬਾਰੇ ਕੁਝ ਨਹੀਂ ਕਰਦਾ। ਇਹ ਅਸਮਾਨਤਾ ਪਹਿਲੀ ਕਮਿਟ ਤੋਂ ਪਹਿਲਾਂ ਆਤਮਸਾਤ ਕਰਨ ਯੋਗ ਹੈ, ਦਸਵੀਂ ਤੋਂ ਬਾਅਦ ਨਹੀਂ। ਢਾਂਚੇ ਦੇ ਨਾਮ ਅਤੇ ਪਤੇ ਵੱਖਰਾ ਫੈਸਲਾ ਹਨ: ਇਹ ਪ੍ਰਮਾਣਿਕਤਾ ਦੇ ਭੇਤ ਨਹੀਂ, ਪਰ ਟੀਮ ਦੇ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰਨ ਦੇ ਇਰਾਦੇ ਨਾਲੋਂ ਵੱਧ ਜ਼ਾਹਰ ਕਰ ਸਕਦੇ ਹਨ। ਹਰ ਲਾਈਨ ਨੂੰ ਪਾਸਵਰਡ ਜਾਂ ਜਨਤਕ ਵਿੱਚ ਵੰਡਣ ਦੀ ਬਜਾਏ ਉਹ ਫੈਸਲਾ ਸਪਸ਼ਟ ਰੂਪ ਵਿੱਚ ਲਓ।
ਜੇ ਸਮੱਗਰੀ ਪਹਿਲਾਂ ਹੀ ਇਤਿਹਾਸ ਵਿੱਚ ਹੈ
ਨਵੀਂ ਕਮਿਟ ਵਿੱਚ ਲਾਈਨ ਹਟਾਉਣ ਨਾਲ ਪੁਰਾਣਾ ਸੰਸਕਰਣ ਇਸ ਨੂੰ ਖਿੱਚਣ ਵਾਲੇ ਹਰ ਵਿਅਕਤੀ ਲਈ ਅਛੂਤ ਰਹਿੰਦਾ ਹੈ। ਖੁਲਾਸੇ ਨੂੰ ਅਸਲੀ ਮੰਨੋ: ਪ੍ਰਮਾਣ ਦੀ ਕਿਸਮ ਪਛਾਣੋ, ਫਿਰ ਉਹ ਅਥਾਰਟੀ ਲੱਭੋ ਜੋ ਇਸ ਨੂੰ ਅਵੈਧ ਕਰ ਸਕਦੀ ਹੈ। ਕਲਾਇੰਟ ਸਰਟੀਫਿਕੇਟ ਰੱਦ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਰੱਦ ਸੂਚੀ ਮੁੜ ਬਣਾਈ ਜਾਂਦੀ ਹੈ; ਸਾਂਝੀ ਨਿਯੰਤਰਣ-ਚੈਨਲ ਕੁੰਜੀ ਸਰਵਰ ਉੱਤੇ ਅਤੇ ਇਸ ਨੂੰ ਵਰਤਣ ਵਾਲੇ ਹਰ ਕਲਾਇੰਟ ਉੱਤੇ ਬਦਲੀ ਜਾਂਦੀ ਹੈ।
ਦੋਵਾਂ ਦਾ ਪ੍ਰਭਾਵ ਘੇਰਾ ਬਹੁਤ ਵੱਖਰਾ ਹੈ, ਅਤੇ ਯੋਜਨਾ ਨੂੰ ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਦੱਸਣਾ ਚਾਹੀਦਾ ਹੈ ਕਿ ਤੁਸੀਂ ਕਿਹੜਾ ਚਲਾ ਰਹੇ ਹੋ। git log --all -S 'BEGIN PRIVATE KEY' ਵਰਗੀ ਖੋਜ ਨਾਲ ਉਹ ਕਮਿਟ ਲੱਭੋ ਜਿਸ ਨੇ ਸਮੱਗਰੀ ਅੰਦਰ ਲਿਆਂਦੀ, ਤਾਂ ਜੋ ਸਫ਼ਾਈ ਦਾ ਦਾਇਰਾ ਅਨੁਮਾਨ ਨਹੀਂ ਬਲਕਿ ਜਾਣਿਆ ਹੋਵੇ। ਸਹਿਕਰਮੀ ਦਾ ਕਲੋਨ ਜਾਂ ਫੋਰਕ ਪੁਰਾਣੀ ਵਸਤੂ ਪਹਿਲਾਂ ਹੀ ਰੱਖ ਸਕਦਾ ਹੈ, ਇਸ ਲਈ ਰੱਦ ਕਰਨਾ ਪਹਿਲਾਂ ਅਤੇ ਸਫ਼ਾਈ ਬਾਅਦ ਵਿੱਚ ਆਉਂਦੀ ਹੈ।
ਨਿਯੰਤਰਣ ਤੋਂ ਬਾਅਦ ਹੀ ਸਫ਼ਾਈ ਕਰੋ
ਇਤਿਹਾਸ ਮੁੜ ਲਿਖਣਾ ਤੁਹਾਡੇ ਸੰਪਾਦਿਤ ਕਮਿਟ ਤੋਂ ਬਾਅਦ ਦੀ ਹਰ ਕਮਿਟ ਬਦਲਦਾ ਹੈ, ਇਸ ਲਈ ਪਹਿਲਾਂ ਰਿਪੋਜ਼ਟਰੀ ਦੇ ਮਾਲਕ ਅਤੇ ਇਸ ਵਿੱਚ ਕੰਮ ਕਰਨ ਵਾਲੇ ਲੋਕਾਂ ਦੀ ਸਹਿਮਤੀ ਚਾਹੀਦੀ ਹੈ। ਜ਼ਬਰਦਸਤੀ ਪੁਸ਼ ਮੁਰੰਮਤ ਨਹੀਂ; ਇਹ ਆਪਣੇ ਹੀ ਵਾਪਸੀ-ਖ਼ਤਰੇ ਵਾਲੀ ਤਾਲਮੇਲ ਘਟਨਾ ਹੈ। ਇਸ ਨੂੰ ਤੈਅ ਕਰੋ, ਬੈਕਅਪ ਲਵੋ, ਅਤੇ ਟੀਮ ਨੂੰ ਦੱਸੋ ਕਿ ਕਦੋਂ ਹੋਵੇਗਾ।
ਉਸ ਤੋਂ ਬਾਅਦ ਸਾਧਨ ਦੇ ਸਾਰਾਂਸ਼ ਉੱਤੇ ਭਰੋਸਾ ਕਰਨ ਦੀ ਬਜਾਏ ਮੌਜੂਦਾ ਰੁੱਖ ਅਤੇ ਬਾਕੀ ਇਤਿਹਾਸ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ।
ਨਤੀਜੇ ਨੂੰ ਦੋ ਕਲਾਕ੍ਰਿਤੀਆਂ ਵਜੋਂ ਰੱਖੋ: ਸਾਂਝਾ ਕਰਨ ਲਈ ਸੁਰੱਖਿਅਤ ਟੈਂਪਲੇਟ, ਅਤੇ ਦਾਖਲੇ ਦੀ ਪ੍ਰਕਿਰਿਆ ਰਾਹੀਂ ਜਾਰੀ ਕੀਤੇ ਪ੍ਰਮਾਣਾਂ ਦੀ ਸੂਚੀ। ਇਹਨਾਂ ਵਿੱਚੋਂ ਕਿਸੇ ਲਈ ਵੀ ਰਿਪੋਜ਼ਟਰੀ ਵਿੱਚ ਵਰਤੋਂਯੋਗ ਪਛਾਣ ਦਾ ਹੋਣਾ ਲਾਜ਼ਮੀ ਨਹੀਂ।
ਇਹੀ ਵੰਡ ਅਸਲ ਹੱਲ ਹੈ, ਅਤੇ ਪ੍ਰੋਫਾਈਲ ਕਮਿਟ ਕਰਨਾ ਚਾਹੁਣ ਵਾਲੇ ਅਗਲੇ ਵਿਅਕਤੀ ਤੋਂ ਬਾਅਦ ਵੀ ਇਹ ਟਿਕਿਆ ਰਹਿੰਦਾ ਹੈ।