1. 程式人生 > >Git基本操作、分支管理、沖突解決

Git基本操作、分支管理、沖突解決

保留 merge -h out 暫存區 diff 使用 希望 分支

基本操作

git init

創建一個 Git 倉庫

git clone [url]

拷貝一個 Git 倉庫到本地

git add [file_name]

git add 命令可將該文件添加到緩存

git commit -m "備註信息"

使用 git add 命令將想要快照的內容寫入緩存區, 而執行 git commit 將緩存區內容添加到倉庫中。使用 -am 可以跳過 add 命令

git reset HEAD

git reset HEAD 命令用於取消已緩存的內容

git status

git status 以查看在你上次提交之後是否有修改

  • -s 參數可以獲得簡短的結果輸出

git diff

執行 git diff 來查看執行 git status 的結果的詳細信息

  • 尚未緩存的改動:git diff
  • 查看已緩存的改動: git diff --cached
  • 查看已緩存的與未緩存的所有改動:git diff HEAD
  • 顯示摘要而非整個 diff:git diff --stat

git rm

從 Git 中移除某個文件。

  • -f : 強制刪除
  • --cached : 從暫存區域移除,但仍然希望保留在當前工作目錄中
  • –r * : 遞歸刪除整個目錄內的子目錄和文件

git mv

git mv 命令用於移動或重命名一個文件、目錄、軟連接

分支操作

  • 創建分支

    git branch [分支名]

  • 查看分支

    git branch -v

  • 切換分支

    git checkout [分支名]

  • 合並分支

    將任何分支合並到當前分支

    git merge [分支名]

  • 合並沖突

    • 合並沖突時,會進入MERGING狀態,查看沖突文件。

      <<<<<<< HEAD
      123456
      =======
      456789
      >>>>>>> master

      HEAD:當前分支內容

      master:另一分支內容

      此時進入手動修改階段.....

    • 沖突的解決

      • 編輯文件,刪除特殊符號

      • 把文件修改到滿意的程度,保存退出

      • git add [文件名]

      • git commit -m "日誌信息"

        此時commit一定不能帶文件名。

添加Github遠程庫

git remote add [shortname][url]

例:git remote add origin [email protected]:tianqixin/runoob-git-test.git

推送到遠程倉庫

git push [alias][branch]

例:git push origin master

推送沖突

如果在你提交修改時已經有了其它人提交修改,那就會產生沖突。

這時候可以先 pull 拉取到本地,然後按照 合並沖突 的解決方法做即可。

查看當前的遠程庫

git remote [-v]

1.從遠程倉庫下載新分支與數據到本地

git fetch [alias]/[branch]

2.從遠端倉庫提取數據並嘗試合並到當前分支

git merge [alias]/[branch]

拉取(pull = fetch+merge)

git pull [alias][branch]

刪除遠程倉庫

刪除遠程倉庫你可以使用命令:

git remote rm [alias]

Git基本操作、分支管理、沖突解決