日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

個(gè)人github鏈接及git學(xué)習(xí)心得總結(jié)

系統(tǒng) 2445 0

組長(zhǎng):楊磊(計(jì)科高職13-3)201303014107

Github 倉(cāng)庫(kù): https://github.com/yangleiwangximin/

https://github.com/yangleiwangximin/test/blob/master/Test3.java

第三題

Git 是一個(gè)開(kāi)源的分布式版本控制系統(tǒng),用以有效、高速的處理從很小到非常大的項(xiàng)目版本管理

http://code.google.com/p/msysgit/ ?可以下載 windows 版本的

http://www.pudn.com/search_db.asp?keyword=git ?可以下載 git? 源碼安裝在 linux

1) 解壓? tar?-zxvf?git-1.6.0.tar.gz????????2) 進(jìn)入解壓目錄? cd?git-1.6.0????????3) 執(zhí)行? make?prefix=/usr/local?all????????4) 執(zhí)行 ??make?prefix=/usr/local?install

?

有兩種取得? Git? 項(xiàng)目倉(cāng)庫(kù)的方法。第一種是在現(xiàn)存的目錄下,通過(guò)導(dǎo)入所有文件來(lái)創(chuàng)建新的? Git? 倉(cāng)庫(kù)。第二種是從已有的? Git? 倉(cāng)庫(kù)克隆出一個(gè)新的鏡像倉(cāng)庫(kù)來(lái)。

一.從當(dāng)前目錄初始化? Git?init

初始化后,在當(dāng)前目錄下會(huì)出現(xiàn)一個(gè)名為? .git? 的目錄,所有? Git? 需要的數(shù)據(jù)和資源都存放在這個(gè)目錄中。

二. git?clone?ssh://r10003@192.168.10.124/git/mx28/linux-2.6-imx.git

將遠(yuǎn)程倉(cāng)庫(kù)克隆到本地,目錄名為 linux-2.6-imx 并在目錄下創(chuàng)建 .git 目錄。如果希望在克隆的時(shí)候,自己定義要新建的項(xiàng)目目錄名稱(chēng),

可以在上面的命令最后指定: /linux-2.6-imx.git??Mylinux

SSH? 為建立在應(yīng)用層和傳輸層基礎(chǔ)上的安全協(xié)議。

在客戶端執(zhí)行

Ssh? 用戶名 @192.168.10.124 ??// 使用 192.168.10.124 某一指定的用戶名和密碼登陸

后面的 git/mx28 就是目錄了

?

Git 中從遠(yuǎn)程的分支獲取最新的版本到本地有這樣 2 個(gè)命令:相反就有一個(gè)命令

git?fetch :相當(dāng)于是從遠(yuǎn)程獲取最新版本到本地,不會(huì)自動(dòng) merge

git?fetch?origin?master?git?log?-p?master..origin/master?git?merge?origin/master

?

???? 以上命令的含義:? ??? 首先從遠(yuǎn)程的 origin master 主分支下載最新的版本到 origin/master 分支上? ??? 然后比較本地的 master 分支和 origin/master 分支的差別? ??? 最后進(jìn)行合并

git?pull :相當(dāng)于是從遠(yuǎn)程獲取最新版本并 merge 到本地

?

git?pull?origin?master

?

上述命令其實(shí)相當(dāng)于 git?fetch? 和? git?merge? 在實(shí)際使用中, git?fetch 更安全一些?因?yàn)樵? merge 前,我們可以查看更新情況,然后再?zèng)Q定是否合并

git?pull?origin?master 是將 origin 這個(gè)版本庫(kù)的代碼更新到本地的 master 主分支

?

git?log???? 查看提交信息 ?? 看你 commit 的日志

git?log?-p???? 查看歷次的 log 信息及更改情況 ??? 看到的是跟補(bǔ)丁一樣的修改信息

git?log?-p?-4???? 查看距現(xiàn)在最近的 4 次的 log 信息及更改情況

git?log?frameworks/???? 查看關(guān)于 frameworks/ 目錄修改相關(guān)的 log 信息

git?log?--stat???? 查看 log 顯示文件修改情況

git?log?--stat?packages/apps/Contacts/???? 查看關(guān)于 packages/apps/Contacts/ 目錄修改相關(guān)的 log 顯示的文件修改情況

git gitk 的區(qū)別

有時(shí)候圖形化工具更容易展示歷史提交的變化,隨? Git? 一同發(fā)布的? gitk? 就是這樣一種工具。它是用? Tcl/Tk? 寫(xiě)成的,基本上相當(dāng)于? git?log? 命令的可視化版本,凡是? git?log? 可以用的選項(xiàng)也都能用在? gitk? 上。在項(xiàng)目工作目錄中輸入? gitk? 命令后。上半個(gè)窗口顯示的是歷次提交的分支祖先圖譜,下半個(gè)窗口顯示當(dāng)前點(diǎn)選的提交對(duì)應(yīng)的具體差異。

?

git?status???? 查看工作目錄和代碼倉(cāng)庫(kù)的改動(dòng)情況

?

git?diff? 查看工作目錄和本地倉(cāng)庫(kù)的差異或者本地倉(cāng)庫(kù)各個(gè)版本的差異

git?diff? 會(huì)使用文件補(bǔ)丁的格式顯示具體添加和刪除的行。

請(qǐng)注意,單單? git?diff? 不過(guò)是顯示還沒(méi)有暫存起來(lái)的改動(dòng),而不是這次工作和上次提交之間的差異。所以有時(shí)候你一下子暫存了所有更新過(guò)的文件后,運(yùn)行? git?diff? 后卻什么也沒(méi)有,就是這個(gè)原因。?可以 cat?diff 看一下實(shí)際的輸出信息? cat:?diff:?No?such?file?or?directory

git?diff?packages/apps/Contacts/AndoridManifest.xml???? 查看工作目錄中 AndoridManifest.xml 和本地倉(cāng)庫(kù)中 AndoridManifest.xml 的不同

git?diff?b46cae3b9a377bcd9cfc249a5778fce647feb961?dc94bf29aab18168e79d6496a89e47dba7a1d494???? 查看這兩個(gè)版本的不同 (git?diff?history_old?history_current)

?

git?commit? 提交當(dāng)前修改內(nèi)容?提交只是提交到本地倉(cāng)庫(kù)

git?commit?file1?file2?-m?"log?message"???? 提交 file1 file2 到本地倉(cāng)庫(kù)

git?commit?-a?-m?"log?message"? 提交所有在 Git 索引中的改動(dòng) ?? -a 代表不用 add

有時(shí)候我們提交完了才發(fā)現(xiàn)漏掉了幾個(gè)文件沒(méi)有加,或者提交信息寫(xiě)錯(cuò)了。想要撤消剛才的提交操作,可以使用? --amend? 選項(xiàng)重新提交:

$?git?commit?-m?'initial?commit'

$?git?add?forgotten_file

$?git?commit?--amend

上面的三條命令最終得到一個(gè)提交,第二個(gè)提交命令修正了第一個(gè)的提交內(nèi)容。

?

git?add? 增加文件到 Git 索引

git?add?file3?file4???? file3 file4 加入到 Git 索引中 ???git?add? 僅是暫存不是提交

git?rm? Git 索引移除文件

git?rm?file3???? file3 Git 索引中刪除

git?branch???? 對(duì)分支的增、刪、查操作

git?branch???? 顯示所有本地分支

git?branch?new_branch???? 在當(dāng)前版本創(chuàng)建一個(gè)名為 new_branch 的分支

git?branch?-D?new_branch???? 強(qiáng)制刪除名為 new_branch 的分支

git?checkout???? 在不同的 branch 切換和還原文件

git?checkout?branch1???? 切換到 branch1 分支?切換前最好把工作目錄 add 并提交否則切換后會(huì)報(bào)錯(cuò)或者工作目錄不換還原

git?checkout?/packages/apps/Contacts/AndroidManifest.xml???? 會(huì)將 AndroidManifest.xml 文件從上一次提交的版本更新回來(lái),未提交的部分會(huì)全部回滾

??????

git?remote 查看當(dāng)前配置有哪些遠(yuǎn)程倉(cāng)庫(kù)

git?remote?add?pb?git://github.com/paulboone/ticgit.git 要添加一個(gè)新的遠(yuǎn)程倉(cāng)庫(kù),可以指定一個(gè)簡(jiǎn)單的名字,以便將來(lái)引用

git?remote?show?origin 查看某個(gè)遠(yuǎn)程倉(cāng)庫(kù)的詳細(xì)信息

?

git?tag 列顯已有的標(biāo)簽

git?tag?-a?v1.4?-m?'my?version?1.4' 創(chuàng)建一個(gè)含附注類(lèi)型的標(biāo)簽? V1.4

?

git?revert? 是撤銷(xiāo)某次操作,此次操作之前的 commit 都會(huì)被保留

git?reset? 是撤銷(xiāo)某次提交,但是此次之后的修改都會(huì)被退回到暫存區(qū)

?

git?reset? 將當(dāng)前的工作目錄完全回滾到指定的版本號(hào)

git?reset?[--fixed]?3204f2f0bdfd6ada86c587b8927cdc5a15c586c1???? 只更新索引,不更新工作目錄,也就是說(shuō)所有的本地文件都不會(huì)更新

?

打補(bǔ)丁

一.方法一比較通用

Git?commit?? 比如在 PATH 分支提交后

Git?diff?master>patch? 創(chuàng)建補(bǔ)丁文件

Git?checkout?master? 回到主分支

Git?apply?patch? 通過(guò) patch 打補(bǔ)丁

二.

Git?conmmit? 先在一個(gè)分支提交

Git?format_patch?–M?master? 生成 .patch 補(bǔ)丁文件

Git?checkoutmaster? 回到需要打補(bǔ)丁的分支

Git?am?***.patch? 打補(bǔ)丁 ?????????? 打完補(bǔ)丁相當(dāng)于完成一次提交

遇到問(wèn)題 ?? 錯(cuò)誤提示信息

previous?rebase?directory?/home/hailong/Workspace/zhl/.git/rebase-apply?still?exists?but?mbox?given.

在用 git?am 提交 patch 時(shí),有時(shí)在提交失敗后,繼續(xù)提交時(shí)會(huì)出現(xiàn) /.git/rebase-apply?still?exists?but?mbox?given 錯(cuò)誤,因?yàn)殄e(cuò)誤的提交導(dǎo)致 git 內(nèi)部的數(shù)據(jù)出現(xiàn)了錯(cuò)誤,因此繼續(xù)提交 patch 就會(huì)報(bào)錯(cuò), 1. 使用 git?am?--abort 命令將 git 的狀態(tài)恢復(fù)到之前狀態(tài)就可以繼續(xù)提交 patch 了。 2.? 直接刪除 /home/hailong/Workspace/zhl/.git/rebase-apply 這個(gè)目錄的。

每次提交 patch 之前需要執(zhí)行 review-commits 命令來(lái)檢查 patch 的編程規(guī)范,有錯(cuò)誤的地方,都會(huì)有 warning error 的提示,修改之后執(zhí)行 1.?git?add?xxx?2.?git?commit?–amend? push

?

$?git?config?--global?user.name?"Hailong"??? 設(shè)置用戶信息

$?git?config?--global?user.email?Hailong@example.com

git?config?–list 查看配置信息

?

獲取幫助

想了解? Git? 的各式工具該怎么用,可以閱讀它們的使用幫助,方法有三:

$?git?help

$?git?--help

$?man?git-

?

(轉(zhuǎn))技巧和竅門(mén)

在結(jié)束本章之前,我還想和大家分享一些? Git? 使用的技巧和竅門(mén)。很多使用? Git? 的開(kāi)發(fā)者可能根本就沒(méi)用過(guò)這些技巧,我們也不是說(shuō)在讀過(guò)本書(shū)后非得用這些技巧不可,但至少應(yīng)該有所了解吧。說(shuō)實(shí)話,有了這些小竅門(mén),我們的工作可以變得更簡(jiǎn)單,更輕松,更高效。

2.7.1? 自動(dòng)完成

如果你用的是? Bash?shell ,可以試試看? Git? 提供的自動(dòng)完成腳本。下載? Git? 的源代碼,進(jìn)入? contrib/completion? 目錄,會(huì)看到一個(gè)? git-completion.bash? 文件。將此文件復(fù)制到你自己的用戶主目錄中(譯注:按照下面的示例,還應(yīng)改名加上點(diǎn): cp?git-completion.bash?/.git-completion.bash ),并把下面一行內(nèi)容添加到你的? .bashrc? 文件中:

source?~/.git-completion.bash

也可以為系統(tǒng)上所有用戶都設(shè)置默認(rèn)使用此腳本。 Mac? 上將此腳本復(fù)制到? /opt/local/etc/bash_completion.d? 目錄中, Linux? 上則復(fù)制到? /etc/bash_completion.d/? 目錄中即可。這兩處目錄中的腳本,都會(huì)在? Bash? 啟動(dòng)時(shí)自動(dòng)加載。

如果在? Windows? 上安裝了? msysGit ,默認(rèn)使用的? Git?Bash? 就已經(jīng)配好了這個(gè)自動(dòng)完成腳本,可以直接使用。

在輸入? Git? 命令的時(shí)候可以敲兩次跳格鍵( Tab ),就會(huì)看到列出所有匹配的可用命令建議:

$?git?co

commit?config

此例中,鍵入? git?co? 然后連按兩次? Tab? 鍵,會(huì)看到兩個(gè)相關(guān)的建議(命令)? commit? 和? config 。繼而輸入? m? 會(huì)自動(dòng)完成? git?commit? 命令的輸入。

命令的選項(xiàng)也可以用這種方式自動(dòng)完成,其實(shí)這種情況更實(shí)用些。比如運(yùn)行? git?log? 的時(shí)候忘了相關(guān)選項(xiàng)的名字,可以輸入開(kāi)頭的幾個(gè)字母,然后敲? Tab? 鍵看看有哪些匹配的:

$?git?log?--s

--shortstat?--since=?--src-prefix=?--stat?--summary

這個(gè)技巧不錯(cuò)吧,可以節(jié)省很多輸入和查閱文檔的時(shí)間。

2.7.2?Git? 命令別名

Git? 并不會(huì)推斷你輸入的幾個(gè)字符將會(huì)是哪條命令,不過(guò)如果想偷懶,少敲幾個(gè)命令的字符,可以用? git?config? 為命令設(shè)置別名。來(lái)看看下面的例子:

$?git?config?--global?alias.co?checkout

$?git?config?--global?alias.br?branch

$?git?config?--global?alias.ci?commit

$?git?config?--global?alias.st?status

現(xiàn)在,如果要輸入? git?commit? 只需鍵入? git?ci? 即可。而隨著? Git? 使用的深入,會(huì)有很多經(jīng)常要用到的命令,遇到這種情況,不妨建個(gè)別名提高效率。

使用這種技術(shù)還可以創(chuàng)造出新的命令,比方說(shuō)取消暫存文件時(shí)的輸入比較繁瑣,可以自己設(shè)置一下:

$?git?config?--global?alias.unstage?'reset?HEAD?--'

這樣一來(lái),下面的兩條命令完全等同:

$?git?unstage?fileA

$?git?reset?HEAD?fileA

顯然,使用別名的方式看起來(lái)更清楚。另外,我們還經(jīng)常設(shè)置? last? 命令:

$?git?config?--global?alias.last?'log?-1?HEAD'

然后要看最后一次的提交信息,就變得簡(jiǎn)單多了:

Scott?Chacon?Pro?Git?2.8 節(jié)?小結(jié)

$?git?last

commit?66938dae3329c7aebe598c2246a8e6af90d04646

Author:?Josh?Goebel

Date:?Tue?Aug?26?19:48:51?2008?+0800

test?for?current?head

Signed-off-by:?Scott?Chacon

可以看出,實(shí)際上? Git? 只是簡(jiǎn)單地在命令中替換了你設(shè)置的別名。不過(guò)有時(shí)候我們希望運(yùn)行某個(gè)外部命令,而非? Git? 的附屬工具,這個(gè)好辦,只需要在命令前加上? !? 就行。如果你自己寫(xiě)了些處理? Git? 倉(cāng)庫(kù)信息的腳本的話,就可以用這種技術(shù)包裝起來(lái)。作為演示,我們可以設(shè)置用? git?visual? 啟動(dòng)? gitk

$?git?config?--global?alias.visual?"!gitk"

?

個(gè)人github鏈接及git學(xué)習(xí)心得總結(jié)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 双峰县| 景泰县| 尼玛县| 阿克苏市| 大英县| 香河县| 通江县| 靖宇县| 江孜县| 东丽区| 广灵县| 镇康县| 霍邱县| 金秀| 徐汇区| 昌都县| 循化| 禄劝| 龙门县| 北碚区| 临安市| 瓮安县| 全椒县| 阳西县| 英吉沙县| 延庆县| 海口市| 余姚市| 休宁县| 石门县| 吴桥县| 漳平市| 正宁县| 塘沽区| 平泉县| 康保县| 东丽区| 晴隆县| 托克逊县| 东明县| 东莞市|