GIT 使用手記

$ git status   	//查看當前狀態

設置用戶信息

這兩條配置很重要,每次 Git 提交時都會引用這兩條信息,說明是誰提交了更新,所以會隨更新內容一起被永久納入歷史記錄:

$ git config --global user.name "xxxx"		//給自己起個用戶名
$ git config --global user.email "[email protected]"	//填寫自己的郵箱
去掉 --global 選項配置,新的設定保存在當前項目的 .git/config文件裏。
$ git config --list	//查看配置信息

創建密鑰 (SSH連接)

$ cd ~/.ssh 檢查本機的ssh密鑰

如果提示:No such file or directory 說明你是第一次使用git

生成新的密鑰:

$ ssh-keygen –C “[email protected]”  –t rsa 

注意: 此處的郵箱地址,你可以輸入自己的郵箱地址。在回車中會提示你輸入一個密碼,這個密碼會在你提交項目時使用,如果爲空的話提交項目時則不用輸入。這個設置是防止別人往你的項目裏提交內容。

複製新生成的公鑰到D盤

$ cp id_rsa.pub /d

登陸github系統,創建一個公鑰,並將剛剛生成的id_rsa.pub裏的內容複製上去並保存。

git中運行下面命令: 

如果提示:Hi defnngj You've successfully authenticated, but GitHub does not provide shell access. 說明你連接成功了

SSH默認使用id_rsa,id_rsa.pub認證,其它文件名無效。

如果想自定義密鑰名字,必須在~/.ssh目錄下創建一個config文件

增加內容如下:

HOST github.com #要登陸的主機,*代表全部。如果沒出現將默認使用id_rsa認證。

IdentityFile xxx #xxx爲你想使用的密鑰(注意是密鑰文件


新創建一個項目並提交到github上面([email protected]:xxx/xxx.git爲倉庫地址,且必須已經創建)

 切換到項目的根目錄下面:

$ git status   //查看當前項目下所有文的狀態,如果第一次,你會發現都紅顏色的,因爲它還沒有交給git/github管理。

$ git add .   //.)點表示當前目錄下的所有內容,交給git管理,也就是提交到了git的本地倉庫。

Ps:git的強大之處就是有一個本地倉庫的概念,在沒有網絡的情況下可以先將更新的內容提交到本地倉庫。

$ git commit –m ”new natter ”  //對你更新或修改了哪些內容做一個描述。

$ git remote add origin [email protected]:xxx/xxx.git //如果你是第一次提交項目,這一句非常重要,這是你本地的當前的項目與遠程的哪個倉庫建立連接。

Psorigin可以改爲其它的名字,但是在你下一次push(提交)時,也要用你修改之後的名字。

$ git remote -v  //查看你當前項目遠程連接的是哪個倉庫地址。

$ git push -u origin master  //將本地的項目提交到遠程倉庫中。

 

如果你是第一次想把github上面的項目克隆到本地或者要克隆別人的項目到地。

$ git clone [email protected]:xxx/xxx.git   //在git下面切換到想存放此項目的文件目錄下,運行這條命令就可以將項目克隆下來。 

假如本地已經存在了這個項目,而倉庫中又有一新的更新,如何把更新的合併到本地的項目中?

$ git fetch origin     //取得遠程更新

$ git merge origin/master   //把更新的內容合併到本地分支/master

$ git rm  /xxx -r    // -r會把xxx/目錄下的所有內容一次性移動。


Git 提供了一個叫做 git config 的工具(譯註:實際是 git-config 命令,只不過可以通過 git 加一個名字來呼叫此命令。),專門用來配置或讀取相應的工作環境變量。而正是由這些環境變量,決定了 Git 在各個環節的具體工作方式和行爲。這些變量可以存放在以下三個不同的地方:
• /etc/gitconfig文件:系統中對所有用戶都普遍適用的配置。若使用 git config 時用 --system 選項,讀寫的就是這個文件。
• ~/.gitconfig文件:用戶目錄下的配置文件只適用於該用戶。若使用 git config 時用 --global 選項,讀寫的就是這個文件。
• 當前項目的 git 目錄中的配置文件(也就是工作目錄中的.git/config 文件):這裏的配置僅僅針對當前項目有效。每一個級別的配置都會覆蓋上層的相同配置,所以.git/config 裏的配置會覆蓋 /etc/gitconfig 中的同名變量。


工作目錄下面的所有文件都不外乎這兩種狀態:已跟蹤或未跟蹤。已跟蹤的文件是指本來就被納入版本控制管理的文件,在上次快照中有它們的記錄,工作一段時間後,它
們的狀態可能是未更新,已修改或者已放入暫存區。而所有其他文件都屬於未跟蹤文件。它們既沒有上次更新時的快照,也不在當前的暫存區域。初次克隆某個倉庫時,工作目錄中的所有文件都屬於已跟蹤文件,且狀態爲未修改。在編輯過某些文件之後,Git 將這些文件標爲已修改。我們逐步把這些修改過的文件放到暫存區域,然後等最後一次性提交暫存區域的所有文件更新,如此重複。

要確定哪些文件當前處於什麼狀態,可以用 git status 命令檢查當前文件狀態在“Untracked files”這行下面的,Git 不會自動將之納入跟蹤範圍,除非你明明白白地告訴它這麼做,因而不用擔心把臨時文件什麼的也歸入版本管理。使用命令 git add 開始跟蹤一個新文件。此時再運行 git status 命令,會看到 文件已被跟蹤,並處於暫存狀態。


運行了 git add 之後又作了修訂的文件,需要重新運行 git add 把最新版本重新暫存起來。


忽略某些文件,一般我們總會有些文件無需納入 Git 的管理,也不希望它們總出現在未跟蹤文件列表。通常都是些自動生成的文件,像是日誌或者編譯過程中創建的等等。我們可以創建一個名爲.gitignore 的文件,列出要忽略的文件模式。


在提交了若干更新之後,又或者克隆了某個項目,想回顧下提交歷史,可以使用 git log命令。


有時候我們提交完了才發現漏掉了幾個文件沒有加,或者提交信息寫錯了。想要撤消剛纔的提交操作,可以使用 --amend 選項重新提交:
$ git commit --amend
此命令將使用當前的暫存區域快照提交。如果剛纔提交完沒有作任何改動,直接運行此命令的話,相當於有機會重新編輯提交說明,而所提交的文件快照和之前的一樣。啓動文本編輯器後,會看到上次提交時的說明,編輯它確認沒問題後保存退出,就會使用新的提交說明覆蓋剛纔失誤的提交。如果剛纔提交時忘了暫存某些修改,可以先補上暫存操作,然後再運行 --amend 提交:
$ git commit -m 'initial commit'
$ git add forgotten_file
$ git commit --amend
上面的三條命令最終得到一個提交,第二個提交命令修正了第一個的提交內容。


添加遠程倉庫。要添加一個新的遠程倉庫,可以指定一個簡單的名字,以便將來引用,運行 git remote add [shortname] [url]:
$ git remote add xxx git://github.com/xxx/xxx.git
$ git remote -v

xxx git://github.com/xxx/xxx.git

遠程倉庫的刪除和重命名,在新版 Git 中可以用 git remote rename 命令修改某個遠程倉庫的簡短名稱,比如想把xxx 改成 xxxx,可以這麼運行:
$ git remote rename xxx xxxx


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章