問:github怎么入門臼朗?
答:
安裝git盏筐,一直點‘下一步’
任意打開一個文件夾畔派,右鍵‘Git Bash Here’
ssh-keygen -t rsa -C "3114617379@qq.com"(這里你要改成自己的賬號)
秘鑰地址:C:\Users\YGDY.ssh\id_rsa.pub
上github姥饰,
git config --global user.name "liuyeqing"
git config --global user.email "3114617379@qq.com"
git clone git@github.com:liuyeqing/test3.git爷绘,git clone的地址用'Clone with SSH'
下面是提交文件到git上的操作:
1.git add hello1.txt(將‘hello1.txt’這個文件從工作目錄添加到暫存區(qū))
2.git commit -m "我是注釋"(提交的注釋寫在雙引號里解藻,注釋用來告訴其他開發(fā)者老充,我改了什么東西)
注意,git commit -m后面的提交信息中螟左,不能出現(xiàn)<>字樣啡浊,可能它會把這2個符號當(dāng)作文件觅够,然后顯示:
3.git push:提交
問:怎么新建一個git分支?
答:https://blog.csdn.net/w15321271041/article/details/80622044
問:怎么看git上的代碼跟本地代碼有沒有區(qū)別巷嚣?
答:git status
問:git遇到?jīng)_突怎么解決?
答:https://www.liaoxuefeng.com/wiki/896043488029600/900004111093344
git報錯:
解決方案:
原文鏈接:https://blog.csdn.net/xiaomajia029/article/details/91378981
git教程:https://github.com/EmonCodingBackEnd/backend-tutorial/blob/master/tutorials/Git/GitInAction.md
切換分支:
git checkout 新分支名
查看stash里有沒有文件喘先,其中,‘stash@{0}’是stash的編號廷粒,如果要拿到stash里的文件窘拯,就‘git stash pop stash@{0}’
問:git pull以后有幾個綠色+號,幾個紅色-號坝茎,這是什么意思涤姊?
答:就是說,新增了一些代碼嗤放,又刪除了一些代碼思喊,加號越多表示新增的代碼越多,減號越多表示刪除的代碼越多斤吐,不過這個沒關(guān)系搔涝,只要不沖突就行
問:怎么查看當(dāng)前版本和上一個版本有哪些改動?
問:git stash list橘原,發(fā)現(xiàn)stash里有我剛剛提交的信息籍铁,為什么?
答:因為提交代碼以后趾断,本來是要git stash list的拒名,忘記敲list了,git stash芋酌,就把剛剛提交的東西放在暫存里了增显,這時可以刪除stash
問:在hotfix分支上,修改了代碼脐帝,提交了同云,然后我又改了develop分支的代碼糖权,接著后端把hotfix分支合并到develop上了,我在develop分支git pull時發(fā)生沖突炸站,如何解決温兼?
答:由于之前我改的代碼很少,只是復(fù)制了幾行代碼出來武契,改了幾個文字募判,我就去github上把線上develop分支上的文件復(fù)制下來了
在develop分支設(shè)置了暫存以后届垫,去hotfix分支改代碼,在hotfix分支改完代碼以后全释,回到develop分支后的第1件事就是恢復(fù)暫存装处,如果還沒有恢復(fù)暫存就修改文件,再恢復(fù)暫存浸船,可能就恢復(fù)不了暫存了妄迁,這時只能刪除暫存的內(nèi)容了
問:把分支1的暫存不小心恢復(fù)到了分支2時,怎么處理李命?
答:放棄被恢復(fù)掉的內(nèi)容登淘,確認(rèn)暫存還在,然后切換到對應(yīng)分支恢復(fù)
問:‘放棄被恢復(fù)掉的內(nèi)容’封字,可以用命令行來實現(xiàn)嗎黔州?還是只能手動刪除那些恢復(fù)的暫存?
答:根據(jù)提示的命令
命令行的意思:
git fetch:是將遠(yuǎn)程主機的最新內(nèi)容拉到本地阔籽,用戶在檢查了以后決定是否合并到工作本機分支中流妻。
git merge:把本地代碼與線上代碼合并
git pull:從線上更新代碼(git pull其實是git fetch和git merge的合并寫法)
git clone:從線上復(fù)制一份代碼到本地
git add . :他會監(jiān)控工作區(qū)的狀態(tài)樹,使用它會把工作時的所有變化提交到暫存區(qū)笆制,包括文件內(nèi)容修改(modified)以及新文件(new)绅这,但不包括被刪除的文件。
git add -A:與git add .類似在辆,但是會包括被刪除的文件
git add src/:預(yù)備提交src文件夾下的文件
git commit -m "":提交注釋
git commit -am "注釋":git add和git commit二合一
git push:把代碼推送到服務(wù)器
git stash drop stash@{0} :這是刪除第一個暫存區(qū)隊列
git restore src:清除src文件夾下的修改
問:develop修改了代碼证薇,不小心從develop直接切換到了hotfix分支了,怎么辦开缎?
答:切回develop棕叫,把修改部分暫存一下林螃,執(zhí)行‘
問:git pull的時候疗认,出現(xiàn)merge提示完残,怎么辦伏钠?
答:
解決完沖突以后赴肚,想要切換分支,怎么辦二蓝?
要git add誉券,再git commit,再git push刊愚,這時可以切換分支
方案2:強制merge踊跟,這是領(lǐng)導(dǎo)推薦的,但是我沒用過
git切換分支前鸥诽,要么提交好代碼商玫、要么備份代碼,最好是提交代碼牡借,切換分支前拳昌,不要依賴stash,因為放在stash里钠龙,切換分支回來以后地回,沒有馬上把stash去pop出來就改,再pop的話俊鱼,就會沖突
問:線上有'lyq'這個分支刻像,但是我git checkout lyq時,報錯‘error: pathspec 'lyq' did not match any file(s) known to git.’并闲,怎么回事细睡?
答:先git fetch origin --prune,再git checkout lyq就行了帝火,之前本地沒有l(wèi)yq這個分支
問:git add all和git add .有什么區(qū)別
答:git add all可以提交未跟蹤溜徙、修改和刪除文件。
git add .可以提交未跟蹤和修改文件犀填,但是不處理刪除文件蠢壹。
問:git怎么恢復(fù)到修改代碼之前的狀態(tài)?
答:git log九巡,拿到最近版本的id图贸,
再git reset --hard b7dff9b64496514881fd66214ecb00dc38cf4024(b7dff9b64496514881fd66214ecb00dc38cf4024就是最近版本的id)
git checkout -b xxx就是在當(dāng)前分支上新建一個xxx的分支
git checkout -d xxx就是在當(dāng)前分支上刪除xxx分支
問:我現(xiàn)在在dev分支上,要先到dev-lyq分支上,把dev分支放到dev-lyq分支上疏日,再把dev-ljq分支的代碼放到dev-lyq分支上偿洁,怎么弄?
答:git checkout dev-lyq沟优,再git merge dev涕滋,再git pull origin dev-ljq,如果這時沖突了挠阁,就git fetch宾肺,再git merge dev,這時如果有問題侵俗,就git commit -m "解決沖突"爱榕,再git merge dev,再git pull坡慌,再git pull origin dev-ljq