鍍金池/ 問答/ Linux問答
哚蕾咪 回答

先補充一下。
樓上說的那個 git reset --hard 是把 HEAD 回滾到某個 commit。如果你要回滾的 commit 是最新的,那可以這么做。同樣,git reset --hard HEAD^ 或者 git reset --hard HEAD~1 都可以起到同樣的效果。
對于 git revert 就不同了。git revert 并不會 刪除某條 commit,而是會創(chuàng)建一條新的 commit 用來回滾某條 commit 的改動。

個人覺得,如果你不打算新創(chuàng)建 branch (然后再 cherry-pick),那最省事兒的辦法是用 git rebase --onto

比如目前代碼庫中,master branch 上有如下幾條 commits:

A - B - C - D - E - F - G

你想把 D 那條 commit 刪掉,前面的都要,后面的也都要。那么你應(yīng)該執(zhí)行:

git rebase --onto master~4 master~3 master

之后,你的 commit history 就是:

A - B - C - E' - F' - G'

然后你 git push origin master -f 就行了


要注意的是,這樣做會 徹底 刪掉那條 commit。唯一的找回方式是通過 git reflog。

問題中你說你用自己的賬戶提交了。如果你只是想改下那條 commit 的 author,那對于上面的情況中的 D:

A - B - C - D - E - F - G

這樣就行:

git rebase -i C

把 D 那條 commit 前面的 pick 改成 edit

然后

git commit --amend --author="xxxxxxxx"

然后

git rebase --continue
糖果果 回答

已找到解決方案:
修改nginx配置即可
fastcgi_param SCRIPT_FILENAME /www$fastcgi_script_name;

終相守 回答

由于不熟悉linux,
都是在windows下編輯文件在ssh 傳過去

這里我用的編輯器 回車鍵 不是單純的"0A"而是"0A0D"混入了"0D"導(dǎo)致linux 腳本識別錯誤。

久愛她 回答

在程序運行前將你安裝的包的地址導(dǎo)入path, 并且要在系統(tǒng)numpy包之前

import sys
sys.path.insert(1, '/your/python/site-packages/path')

挽歌 回答

如果我沒有猜錯, 你用的是 VirtualBox 虛擬機引擎.

enp0s3(10.0.2.15) 這是 VirtualBox 的默認網(wǎng)卡, 可透過宿主機(這里指你的 windows) 連接外網(wǎng). 沒有它虛擬機就上不了外網(wǎng)了. 它使用 NAT 模式, 你可以打開一個 VirtualBox 虛擬機的網(wǎng)絡(luò)設(shè)置了解一下其他模式.

enp0s8(192.168.33.34) 是你配置的另一張網(wǎng)卡, 只能透過宿主機訪問.

墨染殤 回答

網(wǎng)關(guān)都沒設(shè)置對啊。。A的網(wǎng)關(guān)地址設(shè)置為B,那么A就可以跟B通信。

病癮 回答

選擇幾個問題回答,其他問題沒懂你的意思

1Git的分支有沒有主分支,次分支之分?

其實準(zhǔn)確來說,應(yīng)該叫做默認分支(Default branch),在github中的解釋是

The default branch is considered the “base” branch in your repository

git倉庫初始化的時候默認分支就是master。
對于本地git倉庫而言,你新建一個分支,可以馬上就把這個master分支刪除了
對于大部分遠程git倉庫(github、gitee等)而言,是不允許你直接刪除的,但是可以再更改默認分支后,再刪除

2在test分支下面新建的文件未作任何 add 和 commit ,切換到master分支下后,還是可以看到那個新建文件的。

首先,出現(xiàn)這樣的效果是正常的。
這就要引入git倉庫中,工作區(qū)、版本庫(包括但不限于暫存區(qū))的概念了
0

圖片出自廖雪峰的官方網(wǎng)站
你在沒有add和commit之前文件還在工作區(qū)。而你這個時候切換分支,產(chǎn)生影響的僅僅是已經(jīng)加入了版本庫的文件,而對工作區(qū)的文件沒有影響

3 remotes/origin/HEAD -> origin/master

這個表示遠程倉庫的默認分支是master分支

4克隆能克隆一個文件夾嗎?

在git的理念中是不存在這樣的操作的,也是非常不建議這樣做的。

這與git分布式倉庫的運行機制有關(guān),svn是基于文件方式的集中存儲,Git卻是基于元數(shù)據(jù)方式分布式存儲文件信息的,它會在每一次Clone的時候?qū)⑺行畔⒍既』氐奖镜?,即相?dāng)于在你的機器上生成一個克隆版的版本庫,既然本地有了完整的版本庫。
如果非要只clone repository中的幾個子目錄的話,那就用sparse clone,git從1.7.0開始支持,sparse clone也只是一個變通的方法:先拿到整個repository的object等元數(shù)據(jù)信息,然后在本地加一個叫.git/info/sparse-checkout的文件(即黑名單、白名單,支持正則,參見下文具體操作命令)來控制pull那些目錄和文件(類似.gitignore文件,都是本地的概念),變通的實現(xiàn)。

5這個語句建立和我自己的github鏈接,和我用克隆把test克隆下來,這兩個的區(qū)別是什么

你自己在本地git init 這樣建立的倉庫就需要用git remote add origin增加一個遠程倉庫,用你的話來說就是和我自己的github鏈接
而克隆下來的,自己就帶了你克隆的遠程倉庫地址了

心夠野 回答

你拉取代碼的時候線上版本為1,然后你本地commit了代碼,版本為2,但是線上版本已經(jīng)發(fā)展為3了,這個時候把線上代碼拉下來就出現(xiàn)了又落后,又超前的情況

懶洋洋 回答

找個空文件夾把項目clone下來,刪除內(nèi)容,push?;蛘咝陆▊€分支保存現(xiàn)在的代碼,清空master,合并分支

溫衫 回答

npm install elementui@1.x --save 指定版本安裝

瘋子范 回答

nginx 沒有啟動啊,
8080應(yīng)該是 apache 的端口。

魚梓 回答

有可能是禁止外網(wǎng)直接訪問ip吧。

柚稚 回答

HTTP 協(xié)議規(guī)定了 GET、POST 這些請求方式,但是同時要注意的是,這些方式本身是含有語義的。

GET 很好理解就是獲取的意思。
一般來說 POST 理解為創(chuàng)建資源,PUT 理解為更新資源。

HTTP 協(xié)議本身就是在通過 URL 表示資源的映射,用請求方式來表示對資源的操作(包括但不限于創(chuàng)建、刪除、更新、查找,也就是 CRUD),用 HTTP 狀態(tài)碼 表示操作的結(jié)果。

RESTful 的重點其實在于如何建立資源與 URL 的映射,它只是一個規(guī)范,告訴你什么算一個(符合它理念的)好的設(shè)計,它并不嚴(yán)格規(guī)定所有東西。

以上僅為個人理解,如有錯誤還請不吝賜教!

舊城人 回答

為何要用正則進行匹配替換,如果是整個HTML文檔,那么你可以借用 beautifulsoup 進行解析后,批量修改。

貓館 回答

不了解你完整的業(yè)務(wù)場景,但是跨線程的話,一般是需要傳遞app_context的。

# 線程一,然后將這個參數(shù)傳遞給線程二
app_context = flask.current_app.app_context()

# 線程二,此處的app_context為線程一中傳遞來的參數(shù)
with app_context:
  ........
別瞎鬧 回答

volatile僅保證可見性。這個可見性是針對讀取操作來說的,所以你說的情況完全有可能發(fā)生。

之所以會這樣,是因為對個線程并發(fā)對同一個變量進行修改時,除了可見性,還必須保證修改過程是原子的,修改過程包括讀、自增、寫三步。

所以你這種情況,如果把inc換成AtomicInteger就沒問題了。

如果你的10個線程中,只有1個線程會修改inc變量,另外9個線程都只是讀取,那么就可以使用volatile,它會保證這9個線程每次讀到的都是最新的inc值。