1. 程式人生 > >Git操作和問題記錄

Git操作和問題記錄

1.前言

1. 每次push程式碼之前,先從伺服器pull程式碼,保證原生代碼是最新的
    git pull origin master --allow-unrelated-histories

2.Git Tag操作

2.1 Tag操作流程

    1. $ git tag test -m '資訊'            建立本地Tag
    2. $ git push origin test              推送本地Tag testone到遠端倉庫
    3. $ git push origin :refs/tags/test   刪除遠端的Tag
標籤 4. $ git tag -d test 刪除本地的Tag標籤 5. $ git tag 展示本地和遠端的Tag列表以你當前的程式碼版本為基準)

2.2 其他命令

命令git push origin --tags可以推送全部未推送過的本地標籤;        

2.3 Tag操作問題記錄

remote: GitLab: You are not allowed to change existing tags on this project
沒有許可權操作

$ git push origin testone
error: src refspec testone does not match any.
產生原因:需要先在本地建立Tag再進行推送即可

3.正常修改程式碼推送

  1. git add test.java 進入到對應的目錄,新增修改的檔案
  2. $ git commit -m ‘info’ 提交add的檔案,並添加註釋資訊
  3. $ git log -n 1 –stat 檢視最後一次提交了那些檔案
  4. $ git push origin master 把提交的檔案推送到遠端倉庫

3.1 git pull和push遇到的問題

1.$ git push origin master
 ! [rejected]        master -> master (non-fast-forward)
hint: Updates were rejected because the
tip of your current branch is behind hint: its remote counterpart. Integrate the remote changes (e.g. 原因:本地的程式碼不是最新的 解決:推送程式碼前需要先從伺服器pull最新的程式碼, 2.$ git pull origin master --allow-unrelated-histories .... * branch master -> FETCH_HEAD error: The following untracked working tree files would be overwritten by merge: binary/....apk Please move or remove them before you merge. Aborting 分析:從伺服器pull下的檔案和本地的檔案合併產生了衝突 解決:$ git clean -d -fx 刪除一些沒有 git add的檔案 3. $ git pull origin master --allow-unrelated-histories Automatic merge failed; fix conflicts and then commit the result 分析:自動合併失敗 解決:1.$ git status 檢視那些檔案有衝突 2.$ git reset --hard origin/master 丟棄本地所有的修改

4.Git 版本回溯(使用TortoiseGit操作)

4.1撤銷修改

1.工作區中右擊->TortoiseGit->show log
2.選中對應的版本節點->右擊Reset "master" to this...
3.Reset Type
    soft
    mixed(預設)
    hard 可以讓出現黃色或者紅色衝突的問題變成綠色(具體原因待續)                        

4.2Git reset詳解

git reset有三個選項,--hard、--mixed、--soft。

//僅僅只是撤銷已提交的版本庫,不會修改暫存區和工作區
git reset --soft 版本庫ID
//僅僅只是撤銷已提交的版本庫和暫存區,不會修改工作區
git reset --mixed 版本庫ID
//徹底將工作區、暫存區和版本庫記錄恢復到指定的版本庫
git reset --hard 版本庫ID

最後,有興趣的可以關注下方的公眾號,會定期分享一些知識,以及工作中所遇到問題的解決方案。微信掃描二維碼就可以新增關注: