亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

個人github鏈接及git學習心得總結

系統 2084 0

組長:楊磊(計科高職13-3)201303014107

Github 倉庫: https://github.com/yangleiwangximin/

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

第三題

Git 是一個開源的分布式版本控制系統,用以有效、高速的處理從很小到非常大的項目版本管理

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) 進入解壓目錄? cd?git-1.6.0????????3) 執行? make?prefix=/usr/local?all????????4) 執行 ??make?prefix=/usr/local?install

?

有兩種取得? Git? 項目倉庫的方法。第一種是在現存的目錄下,通過導入所有文件來創建新的? Git? 倉庫。第二種是從已有的? Git? 倉庫克隆出一個新的鏡像倉庫來。

一.從當前目錄初始化? Git?init

初始化后,在當前目錄下會出現一個名為? .git? 的目錄,所有? Git? 需要的數據和資源都存放在這個目錄中。

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

將遠程倉庫克隆到本地,目錄名為 linux-2.6-imx 并在目錄下創建 .git 目錄。如果希望在克隆的時候,自己定義要新建的項目目錄名稱,

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

SSH? 為建立在應用層和傳輸層基礎上的安全協議。

在客戶端執行

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

后面的 git/mx28 就是目錄了

?

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

git?fetch :相當于是從遠程獲取最新版本到本地,不會自動 merge

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

?

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

git?pull :相當于是從遠程獲取最新版本并 merge 到本地

?

git?pull?origin?master

?

上述命令其實相當于 git?fetch? 和? git?merge? 在實際使用中, git?fetch 更安全一些?因為在 merge 前,我們可以查看更新情況,然后再決定是否合并

git?pull?origin?master 是將 origin 這個版本庫的代碼更新到本地的 master 主分支

?

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

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

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

git?log?frameworks/???? 查看關于 frameworks/ 目錄修改相關的 log 信息

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

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

git gitk 的區別

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

?

git?status???? 查看工作目錄和代碼倉庫的改動情況

?

git?diff? 查看工作目錄和本地倉庫的差異或者本地倉庫各個版本的差異

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

請注意,單單? git?diff? 不過是顯示還沒有暫存起來的改動,而不是這次工作和上次提交之間的差異。所以有時候你一下子暫存了所有更新過的文件后,運行? git?diff? 后卻什么也沒有,就是這個原因。?可以 cat?diff 看一下實際的輸出信息? cat:?diff:?No?such?file?or?directory

git?diff?packages/apps/Contacts/AndoridManifest.xml???? 查看工作目錄中 AndoridManifest.xml 和本地倉庫中 AndoridManifest.xml 的不同

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

?

git?commit? 提交當前修改內容?提交只是提交到本地倉庫

git?commit?file1?file2?-m?"log?message"???? 提交 file1 file2 到本地倉庫

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

有時候我們提交完了才發現漏掉了幾個文件沒有加,或者提交信息寫錯了。想要撤消剛才的提交操作,可以使用? --amend? 選項重新提交:

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

$?git?add?forgotten_file

$?git?commit?--amend

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

?

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

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

git?rm? Git 索引移除文件

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

git?branch???? 對分支的增、刪、查操作

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

git?branch?new_branch???? 在當前版本創建一個名為 new_branch 的分支

git?branch?-D?new_branch???? 強制刪除名為 new_branch 的分支

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

git?checkout?branch1???? 切換到 branch1 分支?切換前最好把工作目錄 add 并提交否則切換后會報錯或者工作目錄不換還原

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

??????

git?remote 查看當前配置有哪些遠程倉庫

git?remote?add?pb?git://github.com/paulboone/ticgit.git 要添加一個新的遠程倉庫,可以指定一個簡單的名字,以便將來引用

git?remote?show?origin 查看某個遠程倉庫的詳細信息

?

git?tag 列顯已有的標簽

git?tag?-a?v1.4?-m?'my?version?1.4' 創建一個含附注類型的標簽? V1.4

?

git?revert? 是撤銷某次操作,此次操作之前的 commit 都會被保留

git?reset? 是撤銷某次提交,但是此次之后的修改都會被退回到暫存區

?

git?reset? 將當前的工作目錄完全回滾到指定的版本號

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

?

打補丁

一.方法一比較通用

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

Git?diff?master>patch? 創建補丁文件

Git?checkout?master? 回到主分支

Git?apply?patch? 通過 patch 打補丁

二.

Git?conmmit? 先在一個分支提交

Git?format_patch?–M?master? 生成 .patch 補丁文件

Git?checkoutmaster? 回到需要打補丁的分支

Git?am?***.patch? 打補丁 ?????????? 打完補丁相當于完成一次提交

遇到問題 ?? 錯誤提示信息

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

在用 git?am 提交 patch 時,有時在提交失敗后,繼續提交時會出現 /.git/rebase-apply?still?exists?but?mbox?given 錯誤,因為錯誤的提交導致 git 內部的數據出現了錯誤,因此繼續提交 patch 就會報錯, 1. 使用 git?am?--abort 命令將 git 的狀態恢復到之前狀態就可以繼續提交 patch 了。 2.? 直接刪除 /home/hailong/Workspace/zhl/.git/rebase-apply 這個目錄的。

每次提交 patch 之前需要執行 review-commits 命令來檢查 patch 的編程規范,有錯誤的地方,都會有 warning error 的提示,修改之后執行 1.?git?add?xxx?2.?git?commit?–amend? push

?

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

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

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

?

獲取幫助

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

$?git?help

$?git?--help

$?man?git-

?

(轉)技巧和竅門

在結束本章之前,我還想和大家分享一些? Git? 使用的技巧和竅門。很多使用? Git? 的開發者可能根本就沒用過這些技巧,我們也不是說在讀過本書后非得用這些技巧不可,但至少應該有所了解吧。說實話,有了這些小竅門,我們的工作可以變得更簡單,更輕松,更高效。

2.7.1? 自動完成

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

source?~/.git-completion.bash

也可以為系統上所有用戶都設置默認使用此腳本。 Mac? 上將此腳本復制到? /opt/local/etc/bash_completion.d? 目錄中, Linux? 上則復制到? /etc/bash_completion.d/? 目錄中即可。這兩處目錄中的腳本,都會在? Bash? 啟動時自動加載。

如果在? Windows? 上安裝了? msysGit ,默認使用的? Git?Bash? 就已經配好了這個自動完成腳本,可以直接使用。

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

$?git?co

commit?config

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

命令的選項也可以用這種方式自動完成,其實這種情況更實用些。比如運行? git?log? 的時候忘了相關選項的名字,可以輸入開頭的幾個字母,然后敲? Tab? 鍵看看有哪些匹配的:

$?git?log?--s

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

這個技巧不錯吧,可以節省很多輸入和查閱文檔的時間。

2.7.2?Git? 命令別名

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

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

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

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

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

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

使用這種技術還可以創造出新的命令,比方說取消暫存文件時的輸入比較繁瑣,可以自己設置一下:

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

這樣一來,下面的兩條命令完全等同:

$?git?unstage?fileA

$?git?reset?HEAD?fileA

顯然,使用別名的方式看起來更清楚。另外,我們還經常設置? last? 命令:

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

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

Scott?Chacon?Pro?Git?2.8 節?小結

$?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

可以看出,實際上? Git? 只是簡單地在命令中替換了你設置的別名。不過有時候我們希望運行某個外部命令,而非? Git? 的附屬工具,這個好辦,只需要在命令前加上? !? 就行。如果你自己寫了些處理? Git? 倉庫信息的腳本的話,就可以用這種技術包裝起來。作為演示,我們可以設置用? git?visual? 啟動? gitk

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

?

個人github鏈接及git學習心得總結


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 综合亚洲精品一区二区三区 | 亚洲国产精品久久久久 | 福利岛国深夜在线 | 国产亚洲精品自在线观看 | 成人国产片免费 | 中文字幕亚洲一区婷婷 | 久久高清一区二区三区 | 九九久久国产 | 噜噜噜天天躁狠狠躁夜夜精品 | 特级女人十八毛片a级 | 香蕉福利 | 国产精品66在线观看 | 午夜欧美视频 | 884hutv四虎永久黄网 | 国产区综合另类亚洲欧美 | 国产极品福利视频在线观看 | 亚洲高清不卡视频 | 综合色综合 | 久久久青青久久国产精品 | 四虎影视大全 | 欧美一级毛片片免费 | 亚洲精品久久九九热 | 2022国产成人综合精品 | 日本欧美成 | 国产 欧美 日产久久 | 日本一级毛片中文字幕 | wwxx全免费视频 | 99热国产免费 | 爱情片在线观看 | 欧美成人精品一区二区 | 成人免费视频视频在线观看 免费 | 色老久久精品偷偷鲁一区 | 亚洲精品一二三区-久久 | 九九视频免费 | 国产成人欧美一区二区三区的 | 国内亚州视频在线观看 | 国产欧美日韩中文字幕 | 视频一区在线免费观看 | 一区二区不卡久久精品 | 红色一级毛片 | 欧美一欧美一级毛片 |