- git工作流程
- git的安裝
1)安裝git
2)安裝烏龜
3)漢化烏龜 - 創建本地倉庫
在一個空目錄,打開git bash here, 輸入命令 git init
刪除并保留本地副本
選中目標文件,右鍵烏龜,刪除并保留本地副本
這時候目標文件會有一個X刪除標記,再提交,版本庫里就沒有了目標文件。
4. 將一個工程添加到本地倉庫
- 將工程目錄復制到 workspace(帶有.git的文件夾)里面去
- 忽略.idea 和其他不用提交到倉庫的文件夾
.gitignore 這個文件需要提交
5.使用github創建一個遠程倉庫
New respository
git bash here
1)ssh 模式
git remote add origin git@github.com:xxx/repo1.git
使用git bash 創建ssh 公鑰與私鑰
輸入命令 ssh-keygen -t rsa
回車,會在用戶目錄下生成兩個文件
a.id_rsa.pub b.id_rsa 其中id_rsa.pub是公鑰,
打開github 頭像 + settings SSH and GPG keys
復制公鑰內容進去
可以使用命令 git push -u origin master 提交上去了
也可以使用烏龜來配置提交
2)https方式
需要用戶名和密碼驗證
6. 從github clone到本地倉庫(Code -> Clone with SSH or https)
可以選擇 ssh或者https 任意一種
直接git clone git@github.com:xxx/repo1.git
- 解決沖突
a. 情景一
同一分支,B同學修改一文件已經push origin master了,A同學并不知道也沒有pull,A同學也修改了同一文件,A在push origin master 的時候出現沖突,推送失敗,這時候處理A同學處理步驟:
1)需要先pull遠程代碼:git pull origin/master (拉取遠程倉庫進行自動合并) 如果能自動合并,git會提示auto merge成功,這時可以直接git push origin master
2)如果不能自動merge,git會提示auto merge失敗,需要手動解決沖突:
git status 查看沖突情況修改沖突
git status 查看沖突解決情況
git add .
git commit -m ‘解決沖突的注釋說明’
git push origin master
比如
=======這一段就是,就是B同學修改的內容,
2+21:21
>>>>>>> b6f98f9237d1c91f9628477bf2ddb500c8f89f20
<<<<<<< HEAD 這一段就是,就是A同學修改的內容,
1+21:21
=======
1 20:53
2+21:00
1+21:01
<<<<<<< HEAD
1+21:21
=======
2+21:21
>>>>>>> b6f98f9237d1c91f9628477bf2ddb500c8f89f20
A同學手動解決沖突如下:
1 20:53
2+21:00
1+21:01
1+21:21
2+21:21
8.分支相關
查看所有分支,包括遠程 分支
git branch -a
如何拉去遠程分支(比如拉去dev分支)
第一種方式
查看所有分支情況
git branch -a
* masterremotes/origin/HEAD -> origin/masterremotes/origin/devremotes/origin/master在本地創建dev分支,并切換到dev分支git branch devgit checkout dev直接pull遠程dev分支git pull origin dev
第二種方式
我想從遠程倉庫里拉取一條本地不存在的分支時git checkout -b 本地分支名 origin/遠程分支名git checkout -b dev origin/dev如果不成功也可以先執行git fetch origin dev然后再git checkout -b dev origin/dev
- 從git倉庫,恢復誤刪的文件(工作區)
直接從本地把文件checkout出來就可以了,用不著從遠程服務器上pull下來
因為,所有的歷史版本你的本地都有的。
具體做法
git checkout file
同時恢復多個被刪除的文件:
git ls-files -d | xargs -i git checkout {}