git 代碼管理(提交-版本回退-線上部署)--從入門到放棄

使用git代碼版本管理工具時,面臨的兩個問題:1.使用第三方軟件中集成的git可視化工具,2.git自帶的黑窗口
咱們此次主要是以 2爲主,vue

第一次安裝 git的小夥伴 須要設置本身的 git信息
git config --global user.name 'user.name'
git config --global user.email 'user.email'

可使用git config --list能夠查看本身的配置列表git

項目中經常使用的

git init //在相應的根目錄先初始化一個Git倉庫 這個操做是本地操做的

拷貝項目倉庫的(線上)github

git clone 線上地址    //拷貝線上項目倉庫到本地

提交快照(文件本地緩存->提交到本地git倉庫->同步到遠程服務器)緩存

git status //以查看在你上次提交以後,是否有修改,追蹤修改文件的 狀態
git add  [file]   //文件本地緩存
git commit -m '提交記錄'  //將緩存區文件提交到本地git倉庫
git pull  //本地同步遠程代碼
git push  //將本地的代碼推送到遠程服務器

其餘服務器

查看分支:git branch
建立分支:git branch <name>
切換分支:git checkout <name>
建立+切換分支:git checkout -b <name>
合併某分支到當前分支:git merge <name>
取消已緩存的內容:git reset HEAD
查看提交 代碼記錄:git log
清空本地暫存棧信息:git stash clear

記錄管理(版本回退)app

git log --pretty=oneline   >> log.txt   //可列出代碼的全部改動歷史,將他保存到一個文件中

git revert HEAD 撤銷前一次 commit
git revert HEAD^ 撤銷前前一次 commit

git revert  撤銷指定的版本編碼  //撤銷也會做爲一次提交進行保存
git reset –hard 某個版本 //完全回退到某個版本,本地的源碼也會變爲上一個版本的內容
git reset --hard 某個版本 //遠程倉庫的目錄下對應的文件仍是以前的內容,必須得使用git reset --hard才能看到push後的內容.reset是指將當前head的內容重置,不會留任何痕跡。

git reset -–soft 某個版本 //回退到某個版本,只回退了commit的信息,不會恢復到index file一級。若是還要提交,直接commit便可

修改git的遠程倉庫地址ide

git remote set-url origin https://github.com //移除項目的git倉庫地址  修改爲https://github.com
git push -u origin master master

git remote add origin https://gitee.com/Mihansy/vue  //你要關聯的遠程倉庫
git push -u origin master master
可能會碰到的問題(若是遠程庫不爲空必須作這一步,不然後面的提交會失敗)
git pull --rebase origin master
把本地庫的內容推送到遠程,使用 git push命令,其實是把當前分支master推送到遠程

將當前分支的修改遷移到另外一個分支
前提:例如在master分支中修改了部分文件, 這時候不想提交到該分支或在錯誤的分支開發, 想要提交到dev分支 /切換到正確的分支開發 修改的東西還在工具

  • 在master分支中: git stash學習

  • 切換到dev分支:git checkout devui

  • 將修改同步到dev分支:git stash apply

git 建立本地分支並同步到遠程分支
前提是 已存在git本地倉庫(沒有的話 須要 git init 初始化倉庫)

git checkout -b branchName //建立本地分支branchName
git remote add origin git_url //添加遠程分支git_url
git add 文件 //添加文件到本地分支
git commit -m 記錄 //提交文件到本地分支
git push origin branchName(本地分支名):branchName(遠程分支名)  
//推送文件到遠程分支,若是沒有遠程分支會自動建立

強行覆蓋 遠程倉庫(遠程同步本地)
前提:遠程倉庫存在無用代碼(以前的代碼),想把一個新項目 提交到這個倉庫

···
git push origin master --force  //強行提交代碼  用於 覆蓋原有倉庫代碼
需設置git push --set-upstream origin master

或
···
git push -f --set-upstream origin master:dev  強行覆蓋相應遠程分支代碼

某個文件夾到某分支
可能你在GitHub項目中可能會用到,能夠github的pages能夠部署本身的項目文件

git run build
git branch gh-pages   //建立gh-pages分支
git checkout gh-pages  //切換到gh-pages分支
git add -f dist     //強制把dist文件夾提交到github
git subtree push --prefix dist origin gh-pages  //把dist文件夾單獨部署到gh-pages分支

image

2的git的學習成本要比一些三方軟件集成的git可視化軟件大,在開發的角度上不建議直接上手git黑窗口!!
在熟練使用git可視化,能夠把 這種做爲git深度的拓展

做者:xiao旭

相關文章
相關標籤/搜索