1. 程式人生 > >linux常用工具系列------git

linux常用工具系列------git

git 工具 —– 用來配置程式碼庫的,便於大家修改,上傳,下載程式碼,而不至於引起程式碼混亂。

git安裝

yum install git

git使用

使用分為兩大部分,一是下載別人的程式碼,建立自己的分支(做修改),然後上傳請求合併;二是上傳自己的工程原始碼,建立倉庫,作為開源專案提供給別人。
1、下載-建立分支-請求合併
git clone xxx.git —–git工程的url
(例如git://github.com/someone/some_project.git)
git 工程在https://github.com/上有很多
示例url地址


當然,也可以下載對應zip,tar,gz。。。自己解壓

在建立自己的分支前,先加上自己的大名和郵箱,不然誰知道是你改的:
    git config --global user.name xxx
    git config --global user.email [email protected] 
git branch xxx_name 建立自己命名的分支
git branch  ----- 列出所有分支(包括主分支和新建立的分支)
git checkout xxx_name 跳轉到其他分支

然後你可以切換到自己的分支裡面做修改,改完後提交
git add  xxx --- 提交特定檔案(新檔案/被修改的檔案)
git add  *.c --- 提交某一檔案集合
git add 提交目錄下所有檔案,包括子目錄下的檔案
然而add並不能完成提交,add後的檔案進入一種中間狀態staged,還需要commit才能保證提交成功

git commit -----提交所有改動
git commit xxx ----提交某個檔案的改動
當然你可以新增或者不新增說明資訊
git commit -m "this is a great patch" xxx ---為某個檔案新增說明
git commit -m "this is a big evolution" -a ----為整個分支新增說明

然而,提交之後並沒有解決合併的問題,如果是在本地,其他人直接git clone 一份就好了。(clone之後可以看到所有的分支版本)如果是開源專案,那麼需要上傳上去,在下一步中說明。

要合併程式碼,無論是本地還是遠端,首先要切換到你需要的base分支,然後
    git merge xxx_name ----版本名字 或者 版本號
當然你可以把一個分支合併到它的父親,或者它的兄弟,或者它父親的兄弟,或者它父親的兄弟的兒子。。。-----這都是可以的!_!
然而問題來,很可能會發生衝突,衝突就會報錯!!!
    Auto-merging xxx
    CONFLICT (content): Merge conflict in xxx
因此,報錯後直接執行:
    git mergetool 獲取更詳細的衝突資訊,然後手工修改後再進行git merge xxx

2、建立並上傳開源專案
進入到自己的工程資料夾,
git init —–生成.git 用來控制版本
.git資料夾下有
.git資料夾
info是關於忽略檔案的配置,即有的檔案不提交
hooks是用來完成專案的自動部署
branches就是管理各個分支
logs是關於該git倉庫的所有改動歷史
objects 是關於git物件,git的運作原理即是採用git物件
refs 是git引用,即git物件的名字和對應的hash值

一般是上傳到github上,所以首先github要有自己的倉庫
可以檢視http://blog.csdn.net/steven6977/article/details/10567719獲取建立倉庫詳細資訊
git remote add origin xxx.git---- 你自己的git 倉庫url
然後git 就知道遠端地址了
git push origin master 完成上傳

備註

經常可能覺得某一版本不合適要回退:

git checkout xxx.rb 回退到某一版本
git reset nnnnnnnn (版本號) 不僅回退到某一版本號,而且該版本號之後的版本都被刪除了
git tag xxx_name nnnnnnnn(版本號)給版本號一個名字,以後用版本號的地方都可以用該名字替換

經常覺得先下載git庫的最新版本再與本地庫合併太麻煩:

git pull == git fetch + git merge

經常需要看一下提交或者合併後的狀態,看成功沒有:

git status

經常需要上傳原始碼到遠端:

git push origin master
將本地的master分支(預設分支)上傳到origin主機上,覆蓋其master

經常需要看到底做了什麼修改:

git diff xxx.c
然而這隻能看相當於當前master的

經常需要看歷史上的修改:

git log -p xxx.c ---檢視詳細修改
git log --pretty=oneline ----檢視歷史資訊
當然如果你很欠。。。可以回退到以前任意版本:
git reset -hard HEAD~數字
git reset -hard HEAD^^^ ---回退到當前版本的上上上一個版本

經常需要在剛修改的檔案上反覆do,undo,redo:

staged階段的undo / redo
git checkout -- filename  undo這個檔案 (staged階段,未commit)
如果你要redo這個修改,sorry,手動再改一遍

commit階段的undo / redo
git add xxx
git commit
這時要undo:直接刪檔案rm -f xxx
如果又馬上提交git commit,那麼就需要git revert HEAD,然後再redo
所以要redo的前提是還沒有提交,這時redo
git checkout -- filename  這個檔案又恢復了

本文還在完善中,歡迎各位多多吐槽

相關推薦

linux常用工具系列------git

git 工具 —– 用來配置程式碼庫的,便於大家修改,上傳,下載程式碼,而不至於引起程式碼混亂。 git安裝 yum install git git使用 使用分為兩大部分,一是下載別人的程式碼,建立自己的分支(做修改),然後上傳請求合併;二是上

linux常用工具

保存 常用 version 51cto -h 設備 輸入 忘記 cto 對不錯的工具記錄一下,不然明天又忘記啦 1. tee 功能說明:讀取標準輸入的數據,並將其內容輸出成文件, 語  法:tee [-ai][--help][--version][文件...]補充說明:

Linux常用工具介紹——free

linux常用工具在Linux系統中,我們查看、監控系統內存使用情況,一般最常用的命令就是free,關於free的實現,其實是調用linux下的/proc/meminfo文件。[[email protected]/* */ /]# free -Vfree from procps-ng 3.3.9[

Linux常用命令系列——文件和目錄操作命令(ls)

4.3 data 字段 符號鏈接 功能 數值 sdp 用戶 不同 文章目錄: 1.語法 2.選項 3.參數 4.實例 5.ls -F命令的擴展知識 6.ls 命令輸出內容的屬性 ls命令 ls(可以理解為list的縮寫)

Linux常用工具與菠菜平臺出售

VIM:菠菜平臺出售Q217-179-3408Vim是從 vi 發展出來的一個著名的功能強大、高度可定製的Linux文字編輯器12種模式:6種基本模式,6種條件模式進入文字編輯器語法: vim [檔名] 1①普通模式—>插入模式 i進入插入模式 游標在當前位置I進入插入模式 游標到行首a游標移動到下

linux常用工具問答

一.自行查詢資料, 調研除了vim, 還有哪些常用的牛逼的編輯器, 並能夠橫向對比編輯器之間的區別和優缺點. 1.vim vim是一個類似於vi的著名的功能強大、高度可定製的文字編輯器,在vi的基礎上改進和增加了很多特性。VIM是自由軟體。 vim普遍被推崇為類vi編輯器中最好的一個,事

[Linux]常用工具

2018年11月02日 09:38:24 zuxifo 閱讀數:5 標籤: linux tools

linux 常用命令系列—cp 複製檔案與資料夾

 [[email protected] root]# cp ~/.bashrc bashrc_bak 4. 強制複製指定目錄的檔案到當前目錄,而不管當前目錄是否含有該檔案  [[email protected] root]# cp -f ~/.bashrc bashrc 5. 複製指定目

linux 常用工具

我們經常需要長時間地坐在電腦前做一項具體的工作只為能夠優化工作流程。這包括選擇和配置能讓你最高效工作的工具。從長遠來看,簡單易學的工具並不總是好的,那些能夠充分個性化並無縫地融入獨特工作流程的工具才是真正的好工具。 在這篇文章中,我想向大家介紹5款免費又開源的工具,而且

Linux常用工具和指令碼

Linux系統下的工具以命令的形式給你1、vim編輯器2、gcc   工具鏈/編譯器3、make和Makefile   工程管理器4、gdb    除錯工具    5、Shell使用基礎一、vim1、三種模式:插入模式,命令模式,底行模式。    命令模式切到插入模式,按i游

Linux常用工具的安裝

centos 安裝anaconda【Centos6.5下配置anaconda3】 1.確定伺服器是32位的還是64位的 $ file /bin/ls 輸出為: /bin/ls: ELF 64-bit LSB executable, x86-64, version 1

巧用第三方開源工具trash-git放置linux誤刪除文件

python rm trash #!/bin/sh environment_python(){ yum -y install python echo "python OK " } environment_git(){ yum -y install git echo "git OK" } get

linux常用性能工具

ram 物理 free命令 啟動 基本 buffer 傳輸 wget time 一、wget 文件下載 使用wget下載單個文件:wget URL 下載並以不同的文件名保存:wget -O wordpress.zip URL wget限速下載:wget --limit-ra

Linux系列教程(九)——Linux常用命令之網絡和關機重啟命令

route 註意 端口號 post rac pos 名稱 window ebo   前一篇博客我們講解了Linux壓縮和解壓縮命令,使用的最多的是tar命令,因為現在很多源碼包都是.tar.gz的格式,通過 tar -zcvf 能完成解壓。然後對於.zip格式的文件,使用g

Linux常用命令工具安裝

1、wget:下載工具 yum -y install wget 2、vim:文字編輯 yum -y install wget 3、ifconfig:顯示或設定網路裝置 yum -y install net-tools 4、 git:Git工具 yum -

Jenkins系列之Jenkins配置常用工具和如何下載外掛

上一篇我們介紹了Jenkins的安裝,這一篇我們介紹如何配置Jenkins的工具和如何下載外掛。 首先我們先來看如何配置工具,這裡的工具是指JDK、Ant、Maven、Git等。 1.點選系統管理,如圖:   2.點選Global Tool Co

linux開發工具常用的編輯器

Vim  Vim是從 vi 發展出來的一個文字編輯器。在Vi的基礎上改進和增加了很多特性,是一個自由軟體,其在程式碼自動補全、編譯錯誤跳轉等方便程式設計的功能特別豐富,在程式設計師中被廣泛使用,和Emacs並列成為類Unix系統使用者最喜歡的編輯器。 Ecli

linux開發工具】除了gcc, 還有哪些常用的牛逼的編譯器(不限制程式語言, 不限制平臺).

MSVC Windows平臺上最常用的編譯器,在C++編譯器聖戰中的勝利者。隨著微軟釋出基於Clang/C2,這一條路以後若成功MSVC與Clang/C2並行甚至逐步退出舞臺是很有可能的。 Clang licence極度友好,程式碼質量非常棒,採用的IR為LL

Linux常用命令大全-toolfk程式設計師線上工具

   本文要推薦的[ToolFk]是一款程式設計師經常使用的線上免費測試工具箱,ToolFk 特色是專注於程式設計師日常的開發工具,不用安裝任何軟體,只要把內容貼上按一個執行按鈕,就能獲取到想要的內容結果。ToolFk還支援  BarCode條形碼線上生成

Linux後臺開發常用工具

 https://files-cdn.cnblogs.com/files/aquester/Linux後臺開發常用工具.pdf 目錄 目錄 1 1. 前言 3 2. 指令碼類工具 3 2.1. sed命令-字串文字操作 3 2.2. sed和awk