參考:https://www.cnblogs.com/schaepher/p/4933873.html
?
問題-3:保持github上項目干凈,對于在不同機器上運行會不同的文件不予維護(如.idea/workspace.xml)
建議:對于項目輸出在項目目錄中的文件不予維護
對于IDE自動生成且與項目所在目錄有關的文件不予維護
將這些文件全都ignore之后可以呼叫隊友來克隆項目驗證一下
?
問題-2:不想用命令行
windows下我們使用idea開發,idea是可以配置git的
參考https://jingyan.baidu.com/article/922554466dcecb851748f464.html
?
問題-1:作死建議
如果想嘗試一些容易導致很多錯誤的操作(比如和隊友代碼合并)
可以先再當前分支基礎上新建test分支,然后進行測試
測試失敗直接刪掉測試分支,測試成功就merge一下或者回到原來分支重現操作即可
?
問題0:我們的github維護準則
由一人建立主倉庫,并同時建立develop分支,主倉庫下有了master和develop分支
然后每個開發者fork主倉庫擁有自己的倉庫,自己的倉庫除了master分支,自己再建立一個dev分支用于開發
當個人dev分支穩定之后,可以把自己的dev分支合并到自己的master分支
當master分支基本完成一些功能后,把自己的master分支pull給主倉庫的develop分支
主倉庫的develop分支運行穩定后,把develop分支合并到主倉庫的master分支
主倉庫的master分支就是我們運行穩定的發布版本
?
問題1:切換分支命令忘記了
使用 git checkout master 即可切換到master分支
?
問題2:.idea/workspace.xml文件會記錄本地相關內容,合并時會引起沖突
解決方法:忽略該文件,根目錄下打開 git Bash
notepad .gitignore 創建.gitignore文件
在該文件下輸入要忽略的文件 .idea/workspace.xml?
然后把修改push到遠程倉庫,打開遠程倉庫,發現因為我們忽略了workspace.xml文件
所以我們的遠程倉庫都已經沒有workspace.xml了
如果之前已經手滑提交到遠程倉庫了,那么我們只修改.gitignore文件是不夠的
需要本地 git rm --cached <filename> 把忽略的文件刪掉(不需要打尖括號!!!)
再push到遠程倉庫就可以了
?
問題3:git push不能直接使用/如何把我的代碼同步到我自己的遠程倉庫上
解決方法:
git push origin HEAD 是把當前分支push到我們自己的遠程倉庫對應的分支
一般來說本地master分支都對應遠程倉庫的master分支
其他分支,如果建立分支的時候有明確對應哪個遠程分支,那么是可以的
如果沒有明確,那么改命令會運行失敗
使用 git push origin HEAD:develop 指定push到哪一個遠程分支即可
(目前我不確定會不會出現權限問題,應該不會,我猜)
?
問題4:如何把我自己的dev分支合并到我自己的master分支上
解決方法:切換到master分支
然后 git merge dev
會把指定分支合并到當前分支,無沖突的話會自動合并完成
?
問題5:如何把我自己代碼推送給源倉庫/主倉庫
解決方法:參考一開始的鏈接里的描述,發送pull request
等待對方同意合并或給你其他反饋
?
問題6:如何把源倉庫/主倉庫的代碼同步到我的本地
解決方法:參考一開始的鏈接里的描述,設置好upstream
git fetch upstream 即可獲取團隊項目最新版本
比如我想要把主倉庫的develop分支合并到我的dev分支
那么切換到自己的dev分支,然后git merge upstream/develop即可
?
問題7:如何刪除本地分支
解決方法:git branch -d 要刪除的分支名字
?
問題8:github項目克隆到本地后找不到master外其他分支
解決方法:git checkout -b 本地分支名字 origIn/dev
即可讓新建的本地分支繼承遠程倉庫的dev分支
?
問題9:我在開發分支下作死了現在有好多沖突我不想一個一個改想回退到之前的版本
解決方法:git log 查看git日志
然后找到想要回退到版本 git reset --hrad xxxxx(版本號前5位)
參考:https://www.liaoxuefeng.com/wiki/896043488029600/897013573512192
?
問題10:我在本地新建了分支,想讓他對應到我一個遠程分支,怎么操作
解決方法:git branch --set-upstream-to=origin/remote_branch? local_branch
關聯之后,直接git push就會推送到關聯的遠程分支了