多用git少繳稅

2021-07-29 17:16:42 字數 3000 閱讀 1199

git是一套版本管理系統。看到「git版本管理」,一大部分盆友已經轉身想走,在你握著門把手準備開門走人時,請最後聽我說完最後一句:人人都需要版本管理,git可以幫你少交停電/藍屏/宕機稅,提高產出效率,不來一發嗎?

試過半夜寫匯報ppt嗎?』匯報ppt』→』匯報ppt1』→』匯報ppt11』→』匯報ppt2015-03-17』→』匯報ppt2015-03-17新』→』匯報ppt2015-03-17新1』……無休止的命名鬥爭,這就是自然而然的版本管理,只不過,沒有好的工具,所以顯得一團mess。

來吧,fork有用有趣的東西,git你應該在意的東西,日拱一卒,打造我們的作品。

git實現在本地和遠端進行版本管理。

四個空間概念:工作目錄(workspace),暫存區(index),本地倉庫(local repository),遠端倉庫(remote repository)

想象一下,我們開乙個包子店(做的不是同一款包子,見諒)~

配合下面這張圖,我們對git就有乙個基本概念了。

git系統的實質更像是一棵大樹,樹幹(就是head啦)是最後一次提交的成果。在樹幹上,你可以開無數的分支(就是branch啦)胡弄,弄亂了也不怕,大不了剪掉再開乙個,樹幹不受任何影響。折騰ok的分支,最後可以merge到預設branch也就是master上。

用技術性語言描述,分支用來將特性開發絕緣開來。在建立倉庫的時候,master 是「預設的」分支。在其他分支上進行開發,完成後再將它們合併到主分支上。

那origin又是什麼?origin是遠端預設的倉庫。clone完成之後,git會自動將遠端倉庫命名為origin。

那head和master又是什麼關係?head其實只是個指標,指向當前最近commit的branch。而master是本地預設的branch,所以head經常都是指向master。另外head是官方定義的,而master和origin都是大家常用的命名,並不一定要叫master和origin。[2]

git的好處之一是,包子包好後,還可以回退……

捷徑:工作目錄

本地倉庫

遠端倉庫

最常用:git command --help

需要進入目標目錄進行操作

建立新倉庫:git init

建立乙個本地倉庫的轉殖版本:git clone /path/to/repository

轉殖遠端伺服器上的倉庫:git clone username@host:/path/to/repository

git status
staged:已在index,等待被commit.

unstaged:檔案做了改動,但還不能被commit.

untracked:git還沒有開始跟蹤,需要先add.

deleted:檔案已被刪除,等待remove.

staging area:commit前把檔案們收集到一起,以便打包commit。

新增到暫存區(讓git開始跟蹤更改,也就是從untracked變為tracked):git add 或 git add *

新增全部檔案:git add -a, -a 表示包含刪除的檔案。

git reset: git reset 從staging area移除檔案。

「commit」 可以理解為一次快照,幫助我們把所有改動以timeline的方式組織起來。

提交改動(到head,但還沒到遠端伺服器):git commit -m「**提交資訊」git commit -m 'add all files'

把所有當前目錄下的檔案加入暫存區域再執行commit:git commit -a

提交到遠端倉庫:git push origin master(可以把 master 換成你想要推送的任何分支)。如果還沒有轉殖現有倉庫,並想將倉庫連線到某個遠端伺服器:git remote add origin

將檔案推送到遠端倉庫中:git push -u origin master。遠端倉庫預設叫origin-u告訴git記住引數,下次可以直接使用push。

更新本地倉庫至最新改動:git pull origin master

checkout命令用於從歷史提交(或者暫存區域)中拷貝檔案到工作目錄,也可用於切換分支

切換分支:git checkout

新建並切換到分支:git checkout -b new_branch等同於:git branch new_branch + git checkout new_branch

把檔案從暫存區域複製到工作目錄,用來丟棄本地修改:git checkout --

回滾到複製最後一次提交:git checkout head --

git diff
從index中撤銷所有檔案:git reset從index中撤銷最後一次add的檔案:git reset --

恢復之前版本:git reset --hard

回滾到最近一次:git checkout --

合併其他分支到當前分支:

git merge

從硬碟和index移除檔案:git rm刪除分支git branch -d

[1]. git簡明指南

[2]. what are the git concepts of head, master, origin?

[3]. try git

[4]. **git

[5]. pro git中文版

[6]. gitmagic中文版

git多使用者管理

需要為每乙個倉庫設定user email,但是不會出錯啊 羅里吧嗦的直接敲重點 取消git的global使用者以及郵箱 git config global unset user name gitconfig global unset user email在不同的倉庫中配置不同的user email,...

GIT配置多使用者

在公司工作的時候有時候想提交一點 到github上,然後一台電腦上就需要配置兩個賬號分別訪問github和公司的gitlab為什麼要生成兩個key的原因我也不清楚,望路過的大佬指點下.分別用如下的命令給兩個賬戶生成key,儲存位置和密碼隨意,注意名稱不要一樣不要覆蓋了ssh keygen t rsa...

git多使用者管理及許可權控制

用過svn的朋友都知道,每個開發者都需要乙個svn賬號,通過這個檢視專案的提交記錄,可以更加清楚專案的開發情況,便於版本控制。git也是如此。所以我們說其實git在很多方面和svn是很相識的。提到使用者,那麼使用者的管理和許可權控制就是避不開的話題了。一.新建使用者 新增git賬號其實就是新增乙個系...