note_30:又是萬惡的git啊

又是萬惡的git啊


參考: 很多 多到記不下來 反正網上一搜全都有


說在前面

千萬不要刪掉.git文件!!!!!!!!!!!
只要.git在 一切問題都不是問題 大不了就回退嘛
如果刪了的話 呵呵 一夜回到解放前 o(╥﹏╥)o


進到一個項目裏面先初始化git 系統會創建.git文件夾

git init

然後添加遠程倉庫

git remote add origin <address>

本地修改完一個代碼要保存到磁盤上

git add .
git commit -m "xxxxxxxx"

在push之前先把遠程分支上的更新拉下來 這個git pull相當於執行了git fetchgit merge

git pull origin/<branch>

如果想撤銷這個pull操作的話 先查看歷史版本 也就是你要回退到的那個版本

git reflog

然後找到那個版本的版本號 也就是HEAD@{x}

git reset --hard HEAD@{x}

或者你也可以敲HEAD@{x}前面的那一串十六進制數

例如有一條記錄

	06c5153fc (HEAD -> tempDev, dev) HEAD@{0}: checkout: moving from dev to tempDev

如果我要回退到HEAD@{0}那麼可以敲

git reset --hard 06c5153fc

pull下來的時候可能會出現衝突
這時命令行會出現<branch>|MERGING
這時打開代碼 把衝突的地方一個個改掉
就是手動改 一個一個改就得了
其實也還好 就是一片飄紅看起來有點恐怖

>>>>>>> HEAD
// 本地改動的
Toast.makeText(MainActivity.this, "hello world", Toast.LENGTH_SHORT).show();
=======
// 遠程改動的
Toast.makeText(MainActivity.this, "HELLO WORLD", Toast.LENGTH_SHORT).show();
<<<<<<< BRANCH

改完之後要merge 不過在merge之前要查看改動了哪些地方

git status

因爲是改動過的嘛 所以要重新添加並提交

git add .

如果想查看有沒有全部add進去的話 可以再敲一次

git status

因爲add完了 那肯定要提交 所以

git commit -m "xxxxxxxx"

這時可以查看狀態 看看有沒有沒加進去的 或者沒commit

git status

push之前務必把遠程最新的代碼拉下來 防止出問題

git pull

但是如果當前本地分支沒有跟遠程分支關聯的話 git pull並不知道要拉哪個分支的更新下來 會報錯
按照系統的提示 可以將當前本地分支關聯遠程分支

git branch --set-upstream-to=origin/<branch> dev

然後重新pull

git pull

當然 如果不想更新的話 也可以寫清楚是拉哪個分支

git pull origin <branch>

這個時候就可以push
如果前面關聯了遠程分支的話可以直接

git push

如果沒有關聯遠程分支的話 要寫清楚是哪個分支 當前的分支名要跟遠程的分支名相同 否則會出問題

git push origin <branch>

如果這時候要新開一個分支做別的功能 那麼創建並切換到該分支

git checkout -b <branch>(本地)

如果要創建本地分支並且關聯到遠程分支的話

git checkout -b <branch> <remoteBranch> 

如果要查看本地有什麼分支的話可以

git branch

如果要查看全部分支的話可以加上-a其中遠程分支會標紅

git branch -a

如果要保存修改完的代碼的話 就是前面的addcommit
但是如果這個時候想把這個新分支(本地分支)合併到現在已有的分支(本地分支)上的話可以用merge
但是merge之前要先把分支切換到已有分支(本地分支) 而不是留在新分支(本地分支)那裏
切換完之後照例查看狀態git status以及拉最新代碼git pull

將創建的新分支合併到已有分支(本地分支)上
命令行上當前所處的分支是已有分支<branch>(本地分支)
執行命令

git checkout <branch>
git merge <newBranch>

合併完之後 如果想把那個沒有用的新分支(本地分支)刪去
那麼先確保當前處在已有分支(本地分支)上
不然會報錯 因爲你現在處在一個已刪除的新分支上是有問題的

git checkout <branch>
git branch -d <newBranch>

這時再查看分支git branch一下就好了

查看日誌可以用

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