1. 程式人生 > >版本控制git第一篇

版本控制git第一篇

git reset 沖突 req some pull 不一致 ctrl error 文件上傳

一.git的下載與安裝

  參考:https://blog.51cto.com/wangfeng7399/2352524

  Git 是一個開源的分布式版本控制軟件,用以有效、高速的處理從很小到非常大的項目版本管理。 Git 最初是由Linus Torvalds設計開發的,用於管理Linux內核開發。Git 是根據GNU通用公共許可證版本2的條款分發的自由/免費軟件,安裝參見:http://git-scm.com/

  • git安裝的時候,編輯器的安裝

技術分享圖片

二.Git基礎(以django項目為例)

  1.創建一個django項目,在項目裏面打開git

技術分享圖片

  2.在現有目錄中初始化倉庫 命令為:git init 然後在目錄下會生成一個.git的隱藏目錄

  3.查看狀態 命令為:git status

技術分享圖片

  4.對項目的管理跟蹤,需要兩步

    4.1 git add 文件名 跟蹤一個文件 將文件放在緩存區

技術分享圖片

      git add . 跟蹤所有的文件

技術分享圖片

    4.2 git commit -m "操作的詳細情況" 將緩沖區的內容提交到本地倉庫

技術分享圖片

如果沒有創建用戶和郵箱會出現以下情況

技術分享圖片

需要創建用戶和郵箱,然後就可以正常將緩沖區的文件放到本地倉庫了

技術分享圖片

刪除郵件和郵箱如下

技術分享圖片

下面的狀態表示緩存區的文件已經全部放到了本地倉庫中

技術分享圖片

  • git的區域劃分 1.工作區:當前編輯的區域

       2.緩沖區:add之後的區域

       3.本地倉庫:commit之後的區域

       4.遠程倉庫

   5.git log 查看當前版本之前提交記錄

技術分享圖片

6.git reset --hard hash值 回退到之前某次提交的地方 慎用 hash值為退回到那個位置的hash值

技術分享圖片技術分享圖片

7.git reflog 查看所有的提交記錄

技術分享圖片

8.git checkout 文件名 將指定文件回退到最近一次commit的地方,只對工作區做修改,緩存區不變 慎用

技術分享圖片

9.git reset HEAD filename 將指定文件從緩存去拉取到工作區,不會覆蓋原來的文件

技術分享圖片

10.git diff 對比緩存區和工作區的區別

11.git diff --cached 對比緩存區和本地倉庫的區別

技術分享圖片

三.Git的遠程倉庫 github gitee.com---碼雲

  1.https://github.com

  2.創建遠程倉庫

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

登錄成功後就將文件放在了遠程倉庫裏面

四.將遠程倉庫克隆到本地文件夾中

1.git clone +遠程倉庫的項目地址

技術分享圖片

技術分享圖片

2.將克隆的項目添加到本地倉庫

技術分享圖片

五.git push origin master 將本地的文件上傳到遠程倉庫

  git pull origin master 將遠程倉庫的文件拉取到本地

六.錯誤問題的解釋

1.因為線上版本跟本地版本庫不一致,本地版本比線上新 需要先push上傳在pull下載之後就可以解決這個問題

  ` ! [rejected] master -> master (non-fast-forward)
  error: failed to push some refs to ‘https://github.com/417685417/cw.git‘
  hint: Updates were rejected because the tip of your current branch is behind
  hint: its remote counterpart. Integrate the remote changes (e.g.
  hint: ‘git pull ...‘) before pushing again.
  hint: See the ‘Note about fast-forwards‘ in ‘git push --help‘ for details. `

2.沖突:同時修改了同一個文件的同一個位置,沖突自己解決 需要確定一個文件,然後git add . 然後 git commit -m "修復後" 在push上傳,pull下載同步之後就解決問題了

`Auto-merging templates/index.html
CONFLICT (content): Merge conflict in templates/index.html
Automatic merge failed; fix conflicts and then commit the result. `

因為沒有權限

`Logon failed, use ctrl+c to cancel basic credential prompt.
remote: Permission to 417685417/cw.git denied to WuPeiqi.
fatal: unable to access ‘https://github.com/417685417/cw.git/‘: The requested URL returned error: 403

七.遠程倉庫添加用戶成員 settings--->>>Collaborators

技術分享圖片

遠程倉庫添加一個組織

技術分享圖片技術分享圖片

git stash 創建一個快照

git stash pop 取出快照並刪除快照記錄

git stash list 查看快照記錄

git stash drop name 刪除快照

git stash apply name 取出快照

版本控制git第一篇