Git情景使用

2021-06-23 03:39:16 字數 2285 閱讀 8152

git就是乙個分布式的code管理工具

客戶端並不只提取最新版本的檔案快照,而是把**倉庫完整地映象下來。這麼一來,任何一處協同工作用的伺服器發生故障,事後都可以用任何乙個映象出來的本地倉庫恢復。因為每一次的提取操作,實際上都是一次對**倉庫的完整備份

參考書:

1:2:

一、git首先是得有個git倉庫,獲取倉庫有兩種

1:git init (新建倉庫)

2: git clone git:

(clone乙個倉庫)

tips:,第乙個平常自己管理**很實用,第二個也就是從伺服器拷貝乙份完整的**下來,然後在本地操作。

二、git branch相關的操作

1:git checkout -b remotes/origin/test-branch -b test-branch

檢出遠端的branch到本地並且生成乙個本地的branch

2:git branch -a (顯示所有branch,客戶端和遠端伺服器的branch)

3:git branch -r (顯示遠端伺服器的branch)

4:git diff test-branch  remotes/origin/test-branch或者 git diff test-branch  origin/test-branch(顯示本地和遠端branch裡的區別)

5:git push origin master

origin指定了你要push到哪個remote

master其實是乙個「refspec」,正常的「refspec」的形式為」+:」,冒號前表示local branch的名字,冒號後表示remote repository下 branch的名字。注意,如果你省略了,git就認為你想push到remote repository下和local branch相同名字的branch。聽起來有點拗口,再解釋下,push是怎麼個push法,就是把本地branch指向的commit push到remote repository下的branch,比如

6:git push origin master:master

(在local repository中找到名字為master的branch,使用它去更新remote repository下名字為master的branch,如果remote repository下不存在名字是master的branch,那麼新建乙個)

7:git push origin master (省略了,等價於「git push origin master:master」)

8:git push origin master:refs/for/test-branch (在local repository中找到名字為master的branch,用他去更新remote repository下面名字為test-branch的branch)

9:git push origin head:refs/for/test-branch (head指向當前工作的branch,master不一定指向當前工作的branch,所以我覺得用head還比master好些)

tips:ref/for代表的含義可以參考:

10:git push origin :test-branch (再origin repository裡面查詢test-branch,刪除它。用乙個空的去更新它,就相當於刪除了)

三、git檢視類、檢出類命令

2:git log(顯示提交的log資訊)

3:git show [commit-id] hello-world.c (可以檢視提交的某次中的修改)

4:git relog (commt-id記錄丟失了可用此命令首先找到最前面顯示的id,然後git cherry-pick即可找回(

git cherry-pick

用於把另乙個本地分支的commit修改應用到當前分支))

5:git checkout [commit-id] hello-world.c (將code的版本恢復到某次提交的狀態,如果通過amend修改的也可以通過git reflog來切換到某個版本)

6:git reset --hard [commit-id] (回退到commit-id的那次提交,並且原始碼也返回到commit-id的那次提交)

7:git reset --soft [commit-id] (回退了commit)

四、git config相關

1:git remote -v 顯示遠端fetch和push的url(如果不對可以使用,git config --global -e來進行修改)

2:(要用到的到時候在更新吧)

Git 情景處理

需要將遠端分支checkout到本地並且在本地建立對應分支 有a,b兩個分支,a分支上新增了乙個新功能,現在想將這個功能也新增到b上,但是a分支的其它 不方便合併到b分支 本地提交了多個commit,需要push到伺服器上時,希望將這些commit合併成乙個,以便其他開發者閱讀 假設提交了a,b,c...

全域性臨時表使用的情景

全域性臨時表有兩種模式 一種是基於會話級別的,會話與會話之間的資料是隔離的,當會話段掉,資料就會清空 一種是基於事務級別的,當執行commit或者rollback 資料將清除,全域性臨時表使用的是臨時表空間的位置。臨時表即使當前會話已經提交了 commit 資料,別的會話也看不到它的資料。對於臨時表...

var 不可使用的情景

在寫 的過程中,遇到了乙個很奇怪的現象,後經過大佬的分析討論教學,解決了問題和找到原因。現在分享給跟我一樣初學者的新手們一起看看。老鳥沒見過的也歡迎一起學習進步。建立乙個datatable dt newdatatable dt.columns.add 訂單日期 typeof datetime dt....