linux重定向及nohup不輸出的方法

2021-08-20 08:48:44 字數 3753 閱讀 1468

git的學習,有兩個很好的資源,乙個是廖雪峰的官網,這個真是淺顯易懂,另乙個是codecademy, 想深入學習的可以請移步過去,這裡僅對常用的命令進行總結。

git config --global user.name "此處填寫你的使用者名稱"

git config --global user.email "你的email"

#1. clone 乙個存在的倉庫:

git clone ssh:

#2.建立乙個本地倉庫, switch到目標資料夾下,輸入:

git init

#1. 新增所有當前的changes

git add .

#2.新增某乙個檔案

git add

#3. 新增某些檔案到下次commit

git add -p

#4. 提交改動到本地分支

git commit -m "comments"

#5. 提交所有的本地changes到本地分支, 省去了git add .

git commit -a

#6.在changeid不變得情況下,覆蓋上次修改的檔案**

git commit --amend

#1.顯示所有的提交記錄

git log

#2.顯示某乙個檔案的歷史記錄

git log -p

#3. 讓log好看點

git log

--pretty=oneline

#4.誰在何時改變了什麼內容

git blame

#5.可以檢視所有分支的所有操作記錄(包括提交、回退、已刪除的提交操作記錄等)

git reflog

如果在回退以後又想再次回到之前的版本,git reflog 可以檢視所有分支的所有操作記錄(包括commit和reset的操作),包括已經被刪除的commit記錄,git log則不能察看已經刪除了的commit記錄

#1

.列出所有存在的分支

git branch

#2.切換到某乙個分支

git checkout

#3.建立+切換分支

git checkout -b

#3.基於當前分支建立乙個新的分支

git branch <

new-branch

>

#4.基於遠端分支建立乙個分支

git branch --track <

new-branch

>

#5.刪除乙個本地分支

git branch -d

#6.給當前的提交打上tag

git tag

<

tag-name

>

#1.檢視遠端倉庫的資訊(執行該命令後,會列出當前程式對應的所有遠端版本倉庫的資訊,含倉庫名和倉庫位址)

git remote -v

git remote (只是會單純的列出所有遠端倉庫的名字,不會展示遠端倉庫的位址)

#2.顯示某個遠端庫的資訊

git remote show #3.建立新的遠端庫, name, remote

git pull

#5.push本地改動到remote

git push

#6.發布你的tags

git push --tags

#1.merge 合併branch分支到當前分支

git merge

舉例(把master分支合併到當前分支):

git checkout feature

git merge master

#2.rebase 把branch合併到當前分支

git rebase

舉例:git checkout feature

git rebase master

(它會把整個 feature 分支移動到 master 分支的後面,有效地把所有 master 分支上新的提交併入過來

但是,rebase 為原分支上每乙個提交建立乙個新的提交,重寫了專案歷史,並且不會帶來合併提交。)

#3.解決衝突後繼續合併

git rebase --continue

#4.中止rebase,回到rebase前狀態

git rebase --abort

#1.丟棄所有本地更改 ,commit和index 都回回退到某個版本.(注意,這種方式是改變本地**倉庫原始碼)

git reset --hard head

#2. 對某乙個檔案丟棄本地的更改

git checkouthead

#3.revert乙個commit (會留乙個新的commit記錄)

git revert #4.reset 到commit, commit後的所有提交都被丟棄

git reset --hard #5.reset到某個commit,同時保留所有本地的改動

git reset --keep

一、你有乙個遠端主branch,它名字是master, a和b都從master上checkout了本地分支,並建立了遠端分支。 a的本地分支和遠端分支都叫a, b的都叫b。a先改動了**並成功push到遠端a, 然後通過pull request成功merge到master, 這時候b也成功push**到b,然後建立pull request想push到master會出錯,怎麼解決?

(1)先push本地分支的改動到遠端b分支上。

(2)checkout -b c master 從最新的遠端主分支check out乙個本地分支, 我們叫c

(3)git pull 通過git pull 把遠端master最新改動拉下來到c

(4)git checkout b, 切換到本地分支b, git merge c,把c的最新**拉倒b,肯定有衝突,手工解決掉。

(5)b git push到遠端b, 並通過建立pull request的方式push到遠端master

二、提交注釋錯誤如何回退

git

commit--

amend

三、提交錯誤版本到本地倉庫如何回退

(2)找到上次提交的記錄id例如123, 執行 git reset --hard 123 或者 git reset --hard head^

四、自己的遠端分支版本回退的方法

git reflog

git reset --hard 123

git push -f (注意:本地分支回滾後,版本將落後遠端分支,必須使用強制推送覆蓋遠端分支,否則無法推送到遠端分支)

五、公共遠端分支版本回退的問題

舉例:改完**測試也沒有問題,但是上線後發現你的修改導致之前執行正常的**報錯,必須回滾.

git revert head

git push origin master

注意:git revert 命令意思是撤銷某次提交。它會產生乙個新的提交,雖然**回退了,但是版本依然是向前的,所以,當你用revert回退之後,所有人pull之後,他們的**也自動的回退了。

git revert 命令的好處就是不會丟掉別人的提交。

總結下:

自己的分支回滾直接用reset

公共分支回滾用revert

錯的太遠了直接將**全部刪掉,用正確**替代。

linux重定向及nohup不輸出的方法

先說一下linux重定向 0 1和2分別表示標準輸入 標準輸出和標準錯誤資訊輸出,可以用來指定需要重定向的標準輸入或輸出。在一般使用時,預設的是標準輸出,既1.當我們需要特殊用途時,可以使用其他標號。例如,將某個程式的錯誤資訊輸出到log檔案中 program 2 log。這樣標準輸出還是在螢幕上,...

linux重定向及nohup不輸出的方法

先說一下linux重定向 0 1和2分別表示標準輸入 標準輸出和標準錯誤資訊輸出,可以用來指定需要重定向的標準輸入或輸出。在一般使用時,預設的是標準輸出,既1.當我們需要特殊用途時,可以使用其他標號。例如,將某個程式的錯誤資訊輸出到log檔案中 program 2 log。這樣標準輸出還是在螢幕上,...

linux重定向及nohup不輸出的方法

from 先說一下linux重定向 0 1和2分別表示標準輸入 標準輸出和標準錯誤資訊輸出,可以用來指定需要重定向的標準輸入或輸出。在一般使用時,預設的是標準輸出,既1.當我們需要特殊用途時,可以使用其他標號。例如,將某個程式的錯誤資訊輸出到log檔案中 program 2 log。這樣標準輸出還是...