入門Git

本文是我在[實驗樓]這個平臺學習git時的第一篇學習筆記,現貼出來以饗大家!

git學習

1、git的配置

git的配置主要通過git config --global <配置名稱> <配置的值>來對git進行配置

其中最常用的配置為:

git config --global user.name name
git config --global user.email email

完成配置后,配置信息會存在于一個隱藏文件中:.gitconfig。可以通過cat .gitconfig查看配置內容。

2、獲取一個Git倉庫

這有兩種方法:

1、從已有的Git倉庫中克隆(clone)。通過git clone URL方式clone代碼。

2、新建一個倉庫。通過git init在某文件夾中初始化一個空倉庫,初始化完畢后,在該文件夾中會新建一個隱藏文件`.git``

3、git的基本流程

1、創建或修改文件

2、使用git add命令添加新創建或修改的文件到本地緩存區(index)

3、使用git commit命令提交本地代碼庫

4、使用git push命令將本地代碼庫同步到遠端代碼庫

git status查看當前git倉庫的狀態,新建的文件的狀態時:untracked

使用git add file命令將文件加入到緩存區(index)后,該文件狀態會改變為:new file

使用git diff --cached查看緩存區中哪些文件被修改了,進入該界面后,需要輸入q才可以退出,該命令只查看加入到緩存的文件的變化。

使用git commit提交修改,git commit可選參數:-m添加本次修改的注釋,完成后就會記錄一個新的項目版本。:-a將沒有加到緩存區的修改也一起提交,對已提交過的文件進行修改后,文件狀態變為:modified,需要注意的是-a命令不會添加新建的文件,如果一個文件不是新建的,而是被修改過,則可以通過這個命令提交,如果是新建的,則不能進行提交。

如果是刪除文件,則直接使用git rm命令刪除后會將已刪除文件的信息添加到緩存區,git commit提交后就會將本地倉庫中的對應文件刪除。

如果希望將本地倉庫關聯到遠端服務器,可以使用git remote命令,當前倉庫是使用git init初始化的本地倉庫,所以需要將本地倉庫與遠程倉庫關聯,使用的命令為:

git remote add origin https://github.com/user-name/project.git

git remote add命令用于添加遠程主機,origin是主機名,可以自定義,https://github.com/user-name/project.git是要關聯的遠程倉庫地址。

提交代碼:

git push origin master

4、分支與合并

git分支可以讓你在主線(master)之外進行代碼提交,同時又不會影響代碼庫主線。

分支的作用:體現在多人協作開發中,比如一個團隊開發軟件,你負責獨立的一個功能需要一個月的時間來完成,你就可以創建一個分支,只把該功能的代碼提交到這個分支,而其他同事仍然可以繼續使用主線開發,你每天的提交不會對他們造成任何影響。當你完成功能后,測試通過再把你的功能分支合并到主線。

1、創建分支:

git branch branch-name

git branch命令可以查看當前的分支列表,以及目前的開發環境處于哪個分支上。

2、切換分支

master分支是git系統默認創建的主分支,*號標識了你當前工作在哪個分支下。

git checkout 分支名可以切換到其他分支。

3、合并分支

通過git merge合并分支

eg:

git merge -m "注釋" 需要合并的分支名

如果不同分支同時修改了同一文件,則不能直接通過git merge命令合并。此時通過git status查看狀態,則被同時修改的文件的狀態為:both modified

此時查看被修改的內容,可以看到不同分支對該文件的修改,也可以通過git diff查看到相同的內容。

不同分支沖突的內容都被添加到被修改的文件中,此時需要手動解決沖突,用vim打開該文件,去掉<<<<<<等符號后,根據需要保留提交的 內容,然后git addgit commit提交。

如果出現cannot do a partial commit during a merge

1、提交全部:git commit -a

2、如果不想提交全部,可以通過添加-i選項:git commit file/to/path -i -m "merge"

4、刪除分支

完成合并后,不再需要某分支時,可以通過以下命令刪除:

git branch -d branch-name

git branch -d只能刪除那些已經被當前分支合并的分支,如果要強制刪除某分支,用git branch -D

5、撤銷一個分支

通過以下命令,返回合并之前的狀態。

git reset --hard [merge前的版本號]

5、git日志

1、查看日志

通過git log命令顯示所有提交,回車會逐步顯示,輸入q退出

2、日志統計

如果用--stat選項使用git log,它會顯示在每個提交中哪些文件被修改了,這些文件分別添加或刪除多少行內容。

git log --stat

3、格式化日志

--pretty參數可以使用若干表現格式,如oneline、short、medium、full、fuller、email、、raw

--graph用來可視化提交圖

4、日志排序

日志記錄可以按不同的順序來顯示,如果你要指定一個特別的順序,可以為git log命令添加順序參數。

指定--topo-order參數,讓提交按拓撲順序來顯示(就是子提交在它們的父提交前顯示)

git log --pretty=format:"%h:%s" --topo-order --graph

也可以用--reverse參數來逆向顯示所有提交日志。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/375762.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/375762.shtml
英文地址,請注明出處:http://en.pswp.cn/news/375762.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

小程序廣告變現:探索創新路徑實現盈利

隨著移動互聯網的不斷發展&#xff0c;小程序作為一種輕量級應用形式&#xff0c;在用戶中的普及程度不斷提升。對于開發者而言&#xff0c;如何在小程序中實現盈利成為了一項挑戰&#xff0c;而廣告變現成為其中一種常見的經濟模式。本文將深入探討小程序廣告變現的方式以及如…

服務器共享文件審計,內網安全管理系統-共享審計

在現代企事業單位的網絡中&#xff0c;最常用的功能莫過于“共享文件”了。財務部門需要當月員工的考勤信息&#xff0c;人事部門可能不會親自拿過去&#xff0c;而是在網絡上共享&#xff1b;生產部門的生產報表也不會用書面的資料分發&#xff0c;而是放在網絡的共享文件夾下…

介紹“Razor”— ASP.NET的一個新視圖引擎

我的團隊當前正在從事的工作之一就是為ASP.NET添加一個新的視圖引擎。 一直以來&#xff0c;ASP.NET MVC都支持 “視圖引擎”的概念—采用不同語法的模板的可插拔模塊。當前ASP.NET MVC “默認”的視圖引擎是ASP.NET Web窗體使用的.aspx/.ascx/.master文件模板。而當今其他一些…

w10系統打印服務器怎樣出來,win10怎么打開關閉打印機服務教程步驟

當我們想要使用打印機服務時候&#xff0c;卻不知道在哪里打開&#xff0c;對于win10系統&#xff0c;具體怎么操作呢?下面小編來告訴你開啟和關閉打印機服務的方法吧&#xff0c;希望對你有幫助!Win10系統開啟和關閉打印機服務的方法1、在Win10系統下&#xff0c;按住鍵盤的“…

獲取函數的名字

c99標準中的__func__預定義標識符功能可以幫我們獲取函數的名稱 #include<string> #include<iostream> using namespace std;const char *hello(){return __func__; }int main(){cout<<hello()<<endl;return 0; }代碼中的函數相當于&#xff1a; con…

淺談自學方法論- 不斷更新-記錄思路

1. 用程序員的思想&#xff0c;去自學。 從主函數入手&#xff0c;也就是&#xff0c;了解整個框架。 2. 讀書&#xff0c;帶著宏觀和微觀的思路&#xff0c; 先不管看得懂看不懂看第一遍&#xff0c; 然后帶著問題去讀第二遍&#xff0c;并搜索不懂得關鍵詞。 第三遍&#xff…

xp系統目前禁用索引服務器,WinXP系統中可以被禁用的服務對照表

application layer gateway service為internet連接共享和internet連接防火墻提供第三方協議插件的支持如果你沒啟用internet連接共享或windows xp內置防火墻&#xff0c;可以禁止這個服務。automatic updates自動從windows update啟用windows更新的下載和安裝需要時&#xff0c…

hadoop之linux常用命令

Linux的命令后面會有命令選項&#xff0c;有的選項還有選項值。選項的前面有短橫線“-”&#xff0c;命令、選項、選項值之間使用空格隔開。有的命令沒有選項&#xff0c;會有參數。選項是命令內置的功能&#xff0c;參數是用戶提供的符合命令格式的內容。 1.1.1. 命…

c獲取文件的名字和運行到程序的第幾行功能

可以通過__FILE__和__LINE__兩個宏獲取文件的名字和代碼運行的行數 #include<stdio.h> int main(){printf("file:%s line:%d\n",__FILE__,__LINE__);return 0; }__FILE__在linux中能獲取到文件名稱&#xff0c;但是在windows中獲取的是帶路徑的名字。

MongoDB系列二

簡介 MongoDB是一個基于分布式文件存儲的數據庫。由C語言編寫。旨在為WEB應用提供可擴展的高性能數據存儲解決方案。 MongoDB是一個高性能&#xff0c;開源&#xff0c;無模式的文檔型數據庫&#xff0c;是當前NoSql數據庫中比較熱門的一種。 MongoDB是一個介于關系數據庫和非關…

通過查看__cplusplus的值查看編譯器的C++標準

C03標準中&#xff0c;__cplusplus被定義為199711L&#xff0c;而在C11中&#xff0c;__clpusplus則被定義為201103L #include<iostream> using namespace std; int main(){cout<<__cplusplus<<endl;return 0; }

Oracle-數據實現豎排打印

--存放重證評分的數據表create table ZZPFapache2( ZZ_datetime DATE, --時間 ZZ_zongfen INTEGER, --總分 ZZ_shiwanglui INTEGER, --死亡率 ZZ_BINGRENID VARCHAR2(50), --病人ID ZZ_h1f1 INTEGER, --第1行1個分 ZZ_h1m1 VARCHAR2(40), ZZ_h1f2 INTEGER, --第1行…

C#時間格式

可以這樣寫: date.ToString("yyyy年MM月", DateTimeFormatInfo.InvariantInfo) 日期轉化二 DateTime dt DateTime.Now; Label1.Text dt.ToString();//2005-11-5 13:21:25 Label2.Text dt.ToFileTime().ToString();//127756416859912816 Label3.Text dt.ToFileTim…

C++11的靜態斷言

斷言就是將一個返回值總是需要為真的判別式放在語句中&#xff0c;來排除在設計的邏輯上不應該出現的情況。C11標準中引入了靜態斷言&#xff1a;static_assert 在C標準中&#xff0c;<cassert>或assert.h為我們提供了assert宏&#xff0c;但是這個宏只有在運行時才進行…

C++ 字符串編程訓練2

今天講的一道習題是很經典的約瑟夫環問題&#xff0c;其實lz對于鏈表的某些操作還不是太懂&#xff0c;所以在程序中有些地方還不太看得懂&#xff0c;這里借鑒的網上的做法&#xff0c;還請大牛能夠解答我的疑惑&#xff0c;謝謝&#xff01; 標題&#xff1a;約瑟夫環 說明&a…

linux擴展lvm磁盤

env&#xff1a; centos 6.5 x64 hyper-v虛擬機 這個方法可以在當前運行的系統中擴展root磁盤 詳細步驟 之前想創建的一個虛擬機的磁盤空間不夠用了&#xff0c;所以想擴容一下磁盤。 正好使用的時候是lvm磁盤&#xff0c;可以支持擴容。 格式化一個新的分區或者磁盤 Command…

C/C++編譯、測試須知、須會,CMake、Boost等

以下內容為本人實習期間學習筆記&#xff01;&#xff01;參考了網上的許多教程&#xff0c;共享大家&#xff0c;歡迎交流。 動態庫和靜態庫&#xff08;共享庫&#xff09; 不同點&#xff1a;代碼被載入的時刻不同 靜態庫的代碼在編譯過程中已經被載入可執行程序&#xf…

C# DataTable去除重復,極其簡便、簡單

其中sourceDT是獲取到的一個DataTable類型的集合對象 去重復使用方式&#xff1a; 實例化一個DataView對象 假設為dv&#xff0c;直接dv.ToTable()即可&#xff0c;ToTable中可為&#xff08;true,"用于判斷重復的列"&#xff09;&#xff0c;比如圖中所示&#xff0…

【轉】C++類中對同類對象private成員訪問

私有成員變量的概念&#xff0c;在腦海中的現象是&#xff0c;以private關鍵字聲明&#xff0c;是類的實現部分&#xff0c;不對外公開&#xff0c;不能在對象外部訪問對象的私有成員變量&#xff0e; 然而&#xff0c;在實現拷貝構造函數和賦值符函數時&#xff0c;在函數里利…

MySQL 導出命令

mysqldump --no-defaults -u root -p dbname > c:\www\test.sql windows 下使用。轉載于:https://www.cnblogs.com/chenshuo/p/4646070.html