git 學習(持續更新)

目錄

1 坑-更新

*(17/10/26)本地直接刪除文件後,git到遠程倉庫,爲什麼不會同步刪除對應文件
*(18/02/27)如何解決衝突合併的問題
* ( 18/03/02 )changes not stage for commit(存在submodule的情況)
* (18/04/27) 正確使用branch

2 學習筆記

*(17/10/26)常用命令
*(18/02/11)關於遠程分支

正文

1. 坑-更新

git add .只會在stage添加文件和修改文件,不會刪除文件
git add -A 會stage所有操作包括刪除文件

  • (18/02/26)如何解決衝突合併
    在協作開發的過程中我們經常會遇到遠程的倉庫的版本比本地版本高情況
    這個時候我們通常需要先git pull [remote][branch]獲取最新的版本信息之後,在上傳自己本地新的開發情況。

這個時候我們就會碰到遠程倉庫與本地倉庫產生衝突的情況
在你還沒解決衝突的情況下進行其他操作
git命令行會提示你發生衝突的文件,比如

unresolved conflict
U  xxx.txt

xxx.txt之中有衝突還未解決
ok,那我們來解決下xxx.txt的衝突吧
打開xxx.txt文件

會看到

>>>HEAD
function x(a,b){
return a+b
}
============
async function x(a,b)=>{
return a+b
}
<<<fudfhjbvjcbducud

這是什麼意思呢
就是以=======爲分界線
上面的部分是你pull之前文件的內容
下面的部分是你pull的遠程倉庫文件的內容
二者發生了衝突,你需要在上下兩個部分中選擇一個部分刪除另外一個部分或者相辦法折衷以下也是可以的
比如我這樣改

async function x(a,b)=>{
return a+b
}

我刪除上面部分的內容了
這樣我們就解決了一個衝突,然後我們就可以進行

git add .
git commit -m"conflict resolved"

這樣git就會知道你解決了本地的衝突

*(18/02/11)關於遠程分支
這裏寫圖片描述
我嘗試了git add basic-form後沒有任何變化
之後查看網上的解決方案發現這是存在submodule的情況
所以我

cd basic-form
git add .
git commit -m"fix"
cd ..
git add basic-form

這裏寫圖片描述
之後進行

git commit -m"fix basic-form"

就可以

git push
  • (18/04/27) 正確使用branch
  • (1)
    今天在使用git branch時候
git checkout -b dev
touch 1.txt
echo hello >> 1.txt

然後

git checkout master
//error: pathspec 'master' did not match any file(s) known to git.

後來發現原來如果master分支下沒有commit記錄,git並不會將這個作爲分支
*(2)
解決了上面的問題還有一個問題
我在dev分支下建立的文本1.txt在master分支下也能看到

git add .
git commit -m"add 1.txt"
git checkout master

之後在master分支下就看不到1.txt了
所以看來沒有commit的修改都會被分支共享

2. 學習筆記 - 更新

  • (17/10/26)提交修改
    git add stage 暫存區
    git commit 版本區
    git push 遠程倉庫
    git status 查看當前狀態
    git log 查看信息

  • 分支合併
    git branch 列出所有分支
    git branch [new branch] 創建新的分支
    git checkout [branch] 切換分支
    git branch -d [branch] 刪除分支
    git merge [branch] 合併分支

  • linux常用command line
    pwd 當前目錄
    dir 當前目錄下文件
    mkdir 創建目錄
    cat 查看文件
    vi 編輯文件
    touch 創建文件
    rm 刪除文件
    rm -rf 強制刪除文件

*(18/02/11)關於遠程分支
如何查看遠程分支
git branch -r
如何推送本地分支到遠程分支
git push <upstream> HEAD:<branch_name>
如何刪除遠程分支
git push <upstream> --delete <branch_name>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章