GITの開発ツール

GIT WORKFLOW

this readme created on 2019.07.28
by Suarez7988

これは、再び中国に命令のGitのバージョンコントロールフローを導入している、あなたはそれを読まなければなりません

https://github.com/oldratlee/translations/tree/master/git-workflows-and-tutorials
このチュートリアルでは、リモートリポジトリを引っ張って、登録から、会社gitlab倉庫の書き込みを参照し、提出する紛争解決
「機能ブランチを使用して作業の流れ「モード、サブセクションで説明したように
https://github.com/oldratlee/translations/blob/master/git-workflows-and-tutorials/workflow-feature-branch.md

例のように1.編集gitconfig次のように:

Gitの設定ファイルは次のとおりです。〜/ .gitconfig

[user]
    name = suarez
    email = [email protected]
[alias]
    log = log --color
    st = status
    co = checkout
    br = branch
    up = rebase
    ci = commit
    dw = diff --color-words
[color]
    ui = true
    diff = auto
[core]
    editor = vim

2.設定SSHキー

https://gitlab.xxx.com/ログイン
HTTPSであなたのSSHキーを追加します。//gitlab.xxx..com/profile/keys
自分で異なる開発環境で多くのキーを追加することができます

ローカルにコピー3.データリポジトリ

git clone git@GIT_URL:THIS_PROJECT YOUR_DIRECTORY

あなたは問題が「許可(公開鍵)拒否された」得れば、参照してください8.g.

4.作成したり、独自のブランチに切り替え

プロジェクトが作成したばかりされている場合、あなたは後藤べき8.i.

cd YOUR_DIRECTORY
git checkout -b YOUR_BRANCH_NAME master

あなたのブランチが存在する場合は、次のことができます。

git checkout YOUR_BRANCH_NAME

5.あなた自身のブランチ上で作業を行います

git checkout YOUR_BRANCH_NAME
git status
git add <changed files>
git commit -m "changes reasons"

6.あなたのコードレビュー(CR)を公開

git checkout master  # 将本地代码切换到本地的master分支
git pull origin master master  # 将origin/master分支的改动更新到本地的master分支
git checkout YOUR_BRANCH_NAME  # 将本地代码切换到本地的YOUR_BRANCH_NAME分支
git pull origin master YOUR_BRANCH_NAME # 将origin/master的改动更新到本地的YOUR_BRANCH_NAME分支,这步可能会报冲突Conflicts字样,如果冲突,请先解决冲突,然后再继续下面流程,解决冲突的办法见下面8.e
git push -u origin YOUR_BRANCH_NAME # 将本地YOUR_BRANCH_NAME的改动推送到远端origin/YOUR_BRANCH_NAME
git diff master YOUR_BRANCH_NAME > patch[_main change reason].txt # 比较本地YOUR_BRANCH_NAME分支和master分支的不同

あなたのレベルが開発されている場合は、Webページ上でマージリクエストを作成する必要があります

  • プロジェクトのWebページにアクセスしてください
  • それは「を作成マージリクエスト」ボタンを示していた場合、それをクリック
    (または選択したクリックボタンの要求マージ"を「新しい要求マージ」「ソースのブランチ」のための選択プロジェクトとYOUR_BRANCH_NAMEを
    「ターゲットブランチ」のため、同じプロジェクトやマスターを選択支店の比較」をクリックしますそして')継続
  • 「タイトル」のための主な変更理由を書きます
  • 「譲受人」の選択レビュー
  • 「マージリクエストを送信」をクリックします

ビューアは、このマージ要求のメールを受信します。
彼/彼女閉じるマージ要求が'、あなたのコードをGotoステップ5とを修正する必要があるならば、彼の後に/彼女は、コードを確認します。彼/彼女は、 'マージ要求を受け入れる]場合は注意あなたのブランチは直接マスターするマージします。

あなたのレベルがマスター以上であれば、あなたも直接、次の操作を行うことができます。

git checkout master
git pull
git pull origin YOUR_BRANCH_NAME
git push origin master

コード7.タグ(SAのみのために)発行

git tag -f yyyymmddhh_tag
git push --tags

8. addtionalの操作

8.A. リモートとローカルを含め、すべての枝を見ます

git branch -a

8.b. 無用の枝を削除

delete local branch
git branch -d YOUR_BRANCH_NAME
delete remote branch
git push origin :YOUR_BRANCH_NAME

8.c. ええと

git blame <file>

8.d. のみすべての追跡ファイルを追加

git add -u

8.e.紛争解決
WHEREが問題になる参照するために使用する「Gitのステータスを」
紛争のある一般的な、あなたはあなたと別の同僚が同時に同じファイルを変更するとき、それは、間違っている、と彼はあなたのことを控えた提出意味するものではありません起源/ masterブランチに文書を提出する際に衝突端子は、次の単語が表示されます場合は、あなただけのYOUR_BRANCH_NAME競合gitのは、元のマスターを引くことがあります。

Auto-merging xxx.py
CONFLICT (content): Merge conflict in xxx.py
Automatic merge failed; fix conflicts and then commit the result.
if there is still problem exsits, do the following operation:
冲突发生后,切忌慌张,切忌逃避,切忌埋怨同事,解决办法也很简单
主要方式就是先编辑冲突的文件,然后git commit提交。
冲突的文件中,<<<<<<与=====中的代码为服务器改动的代码,=====与>>>>>>中的代码为本地改动的代码,
手动编辑冲突的部分,理解同事的修改逻辑,需要你将同事的改动精髓和你的改动相融合,
如果你是第一次处理冲突,请自行上百度搜索git冲突解决方案,来一次愉快的学习。
严禁没解决冲突就直接发merge request!

8.f. ローカルブランチに最新のコードをマージ
あなたは自分のローカルブランチは、最新のコードをマージしたい場合

git pull origin master

しかし、あなたは同時にあなたの地元のマスターとローカルブランチを更新したい場合は、後藤6

8.g. 問題は、「アクセス許可は拒否されました(公開)」を解決するため
、最初にあなたの鍵は、あなたのgitlabのプロファイルに追加されるチェック
あなたのキーが正しく位置かどうかを確認するには、次のコマンドを実行し、その後

ssh -vT git@GIT_URL

ほとんどの場合、問題を解決するの〜/ .ssh / id_rsaとにキーファイル名を変更し
ていますが、複数のキーを持っている場合は、次の提案を行うことができます
編集したファイルの〜/ .ssh / configには

Host "GIT_URL"
HostName "GIT_URL"
User "git"
IdentityFile "~/.ssh/YOUR_KEY_FILE"

「SSHのGIT_URL」の結果がある場合:

PTY allocation request failed on channel 0
Welcome to GitLab, hongjun.liu!
Connection to gitlab.xxx.com closed.

神に感謝し、あなたが最終的に成功し
、その後、あなたが以下のコマンドをリモートリポジトリの使用のクローンを作成することができます:

git clone git@GIT_URL:THIS_PROJECT YOUR_DIRECTORY

詳細については、することができます後藤https://help.github.com/articles/error-permission-denied-publickey

8.h. ローカルコミット元に戻す
あなたが取得する場合、「あなたの枝をnコミットによって先に『起源/マスター』のある」が、あなたはこれらの変更をプッシュする必要はありません

git reset --hard HEAD~n

8.i. 新しいプロジェクトを開始

git clone git@GIT_URL:hongjun.liu/PROJECT_NAME.git
cd PROJECT_NAME
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

非常に最初のコミット、そのノートが初めてでプッシュする必要があり、このステップは、「マスター」と呼ばれるリモートブランチを作成します。

おすすめ

転載: www.cnblogs.com/xiaohua7988/p/11616208.html