DEV DEVとマスターマージ紛争解決と紛争解決のマスターのgitコマンドの概要をマージ

DEVとマスターマージ競合の解決

gitのコマンドの概要

 
  • gitが要約を追加します
·  git add -A  提交所有变化

·  git add -u  提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)

·  git add . 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
  • クローンリモートリポジトリ
git clone git-address
  • DEVに加えて、すべてのローカルのブランチを削除します
git stash && git checkout dev && git branch | grep -v "dev" | xargs git branch -D
  • ignorを追加し、キャッシュを削除します。
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
  • 変更内容を追加して提出します
git add -A  # A表示把所有更新添加到临时区
git commit -m "注释"
  • ほとんどのコードを引っ張るとプッシュ
git pull # 拉取
git push # 推送
  • キャッシュを削除し、ファイル汎用コードをフィルタリング.gitignore
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
  • 新しいローカルブランチ
git checkout -b 123;
  • ローカルブランチはリモートにプッシュされ、関連付けます
git push --set-upstream origin 123
  • ラベル、タグ操作
git tag #查看版本
git tag [name] #创建版本
git tag -d [name] #删除版本
git tag -r #查看远程版本
git push origin [name] # 创建远程版本(本地版本push到远程) git push origin :refs/tags/[name] # 删除远程版本
  • リベースブランチをマージ
git checkout dev
git pull --rebase
git checkout my
git rebase dev
# 解决冲突
git add -A
git rebase –continue
git push -f
# 自动全并COMMIT:git commit --amend --no-edit 如果代码没有冲突,5,6,7可以省略
  • 複数のコミットにまとめ
git merge-base origin/dev my
# display your hashcode
git reset --soft `your hashcode`
git add -A
git commit -m "commit"
git push -f
  • オンラインにアップロードするローカルリポジトリ
  1. 在远程建立一个仓库,它有https和ssh的地址
  2. 本地建立仓库文件夹 mkdir validate
  3. 在进行文件夹,cd validate
  4. git初始化,git init
  5. 映射远程仓库,git remote add origin [email protected]:bfyxzls/schedle.git 6. 添加一个readme.md文件 7. 添加它到本地仓库,git add readme.md 8. 提交本地,git commit -m "initial" 9. 将本地仓库提交的内容推到远程仓库的对应分支,git push -u origin master 10. 大功告成
  • 提出ログを表示
git log --oneline //会列出所有commitId
  • バージョン履歴に直接切り替え
 git reset --hard commitId
  • タグ付け

このバージョンでは問題があるときに私たちは、あなたがそれを復元するために行くことができる、時点のタグラインバージョンを作ることができます。

  1. すべてのラベルをリスト git tag
  2. スクリーニングラベル git tag -l 'v1.4.*'
  3. 新しいラベル git tag -a v1.4 -m '对标签的描述'
  4. 具体的な情報表示タグ git show v1.4
  5. アップロードラベル git push origin v1.5

見通し

メインブランチをマスターし、DEVは開発ブランチで、マスターコードは、日付DEVの状態に維持されます

問題の原因

  1. 新機能のdevの開発
  2. リリース、devが本番環境を解放し、マスターにマージ
  3. 新しい需要がDEVで開発され、来ます
  4. 一方、ラインコードは、合併後のマスター、マスターのバグを修正、新しい枝を引く、バグがあります
  5. この時点でのコードは、合併後に競合が存在し得る、マスターDEVと矛盾します
  6. devが、行の前に、開発した最新のマスターリベースでそれを行うにはまず、競合を解決します
  7. Gitのリベースはあなたのgitに基づいて行われます紛争解決をコミットし、より迷惑である、すべてのGitは--continueリベース行われるべきです
  8. gitのログをマスタにマージさdev内にコミットしているかを調べるには、新しいdevのコミットにマージする必要が--soft Gitのリセットを見つけた後
  9. 最後に、Gitはそれにリベース

関連のgitコマンド

同じマスターコードを探していたときにIDをコミット

$ git log
commit 9f4c0939ce30aca3f4e18e69b2deed7b721b3ebb (HEAD -> master)
Author: lind <bfyxzls@sina.com>
Date:   Sat Apr 27 12:45:24 2019 +0800 master2 commit 09b6898a5b32ac5e23745f7b343424170869045a Author: lind <bfyxzls@sina.com> Date: Sat Apr 27 12:44:48 2019 +0800 master1 commit c9507744d6528a3df9529d92953c896a4c2d38a7 Author: lind <bfyxzls@sina.com> Date: Sat Apr 27 12:43:28 2019 +0800 dev2 commit 817d0275820c83acdf5513a5fd5855a6eb84443c Author: lind <bfyxzls@sina.com> Date: Sat Apr 27 12:42:59 2019 +0800 

コミットマージ

$ git reset --soft  c9507744d6528a3df9529d92953c896a4c2d38a7
$ git add .
$ git commit -m "合并commit"

リベースすると、いくつかの新しい投稿がありますDEVが先行し、数に紛争を提出し、何回か解決する必要があります

$ git rebase master
Administrator@WIN-1AL08P10TJ8 MINGW64 /c/testgit (dev|REBASE 1/1)

解决冲突、削除するか、最後に対応するコードを維持してから保存し、あなたが提出することができます

Administrator@WIN-1AL08P10TJ8 MINGW64 /c/testgit (dev|REBASE 1/1) $ git add . Administrator@WIN-1AL08P10TJ8 MINGW64 /c/testgit (dev|REBASE 1/1) $ git rebase --continue Applying: 合并commit Administrator@WIN-1AL08P10TJ8 MINGW64 /c/testgit (dev)
  • gitが要約を追加します
·  git add -A  提交所有变化

·  git add -u  提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)

·  git add . 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
  • クローンリモートリポジトリ
git clone git-address
  • DEVに加えて、すべてのローカルのブランチを削除します
git stash && git checkout dev && git branch | grep -v "dev" | xargs git branch -D
  • ignorを追加し、キャッシュを削除します。
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
  • 変更内容を追加して提出します
git add -A  # A表示把所有更新添加到临时区
git commit -m "注释"
  • ほとんどのコードを引っ張るとプッシュ
git pull # 拉取
git push # 推送
  • キャッシュを削除し、ファイル汎用コードをフィルタリング.gitignore
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
  • 新しいローカルブランチ
git checkout -b 123;
  • ローカルブランチはリモートにプッシュされ、関連付けます
git push --set-upstream origin 123
  • ラベル、タグ操作
git tag #查看版本
git tag [name] #创建版本
git tag -d [name] #删除版本
git tag -r #查看远程版本
git push origin [name] # 创建远程版本(本地版本push到远程) git push origin :refs/tags/[name] # 删除远程版本
  • リベースブランチをマージ
git checkout dev
git pull --rebase
git checkout my
git rebase dev
# 解决冲突
git add -A
git rebase –continue
git push -f
# 自动全并COMMIT:git commit --amend --no-edit 如果代码没有冲突,5,6,7可以省略
  • 複数のコミットにまとめ
git merge-base origin/dev my
# display your hashcode
git reset --soft `your hashcode`
git add -A
git commit -m "commit"
git push -f
  • オンラインにアップロードするローカルリポジトリ
  1. 在远程建立一个仓库,它有https和ssh的地址
  2. 本地建立仓库文件夹 mkdir validate
  3. 在进行文件夹,cd validate
  4. git初始化,git init
  5. 映射远程仓库,git remote add origin [email protected]:bfyxzls/schedle.git 6. 添加一个readme.md文件 7. 添加它到本地仓库,git add readme.md 8. 提交本地,git commit -m "initial" 9. 将本地仓库提交的内容推到远程仓库的对应分支,git push -u origin master 10. 大功告成
  • 提出ログを表示
git log --oneline //会列出所有commitId
  • バージョン履歴に直接切り替え
 git reset --hard commitId
  • タグ付け

このバージョンでは問題があるときに私たちは、あなたがそれを復元するために行くことができる、時点のタグラインバージョンを作ることができます。

  1. すべてのラベルをリスト git tag
  2. スクリーニングラベル git tag -l 'v1.4.*'
  3. 新しいラベル git tag -a v1.4 -m '对标签的描述'
  4. 具体的な情報表示タグ git show v1.4
  5. アップロードラベル git push origin v1.5

おすすめ

転載: www.cnblogs.com/Leo_wl/p/10971491.html