git使用小手冊

Git 是 Linus Torvalds 於2005年爲了幫助管理 Linux 內核開發而開發的一個開放源碼的版本管理軟件。版本管理是指管理更新的歷史記錄,git的這種特性使源代碼的發佈和交流極其方便html

git經常使用命令git

1-初次運行 Git 前的配置github

設置用戶信息緩存

git config --global user.name "你的用戶名"
git config --global user.email "你的郵箱號碼"複製代碼

檢查配置信息安全

git config --listbash

原理:服務器

Git 自帶一個 git config 的工具來幫助設置控制 Git 外觀和行爲的配置變量。ssh

這些變量存儲在三個不一樣的位置:ide

  1. /etc/gitconfig 文件: 包含系統上每個用戶及他們倉庫的通用配置。若是使用帶有 --system 選項的 git config 時,它會今後文件讀寫配置變量。
  2. ~/.gitconfig 或 ~/.config/git/config 文件:只針對當前用戶。能夠傳遞 --global 選項讓 Git 讀寫此文件。
  3. 當前使用倉庫的 Git 目錄中的 config 文件(就是 .git/config):針對該倉庫。

2-在本地建立git倉庫,跟蹤新增文件,提交文件工具

本地倉庫由 git 維護的三棵「樹」組成。第一個是你的 工做目錄,它持有實際文件;第二個是 暫存區(Index),它像個緩存區域,臨時保存你的改動;最後是 HEAD,它指向你最後一次提交的結果。

step 1: 進入想要建立git倉庫的文件夾

cd dir

step 2:建立git倉庫

git init

step 3: 添加改動,如新增文件

step 4:查看git狀態

git status

step 5:跟蹤文件

git add file 跟蹤某個文件

git add . 跟蹤全部文件

step 6:提交更改

git commit - m "提交信息"

例如,我在gittest文件夾裏新建一個git倉庫,跟蹤新增的1.md文件並提交

3-查看本地倉庫的歷史操做記錄

基礎命令:git log

退出命令:Q

在上面的基礎命令以後還能夠添加參數來實現更具體的查詢

  • 當你不知道有哪些參數時

git log --help

  • 查看哪些文件變了
    git log --name-status
  • 多人管理git時,只看某一我的的提交記錄

git log --author=想查看的人名稱

  • 4-將github上的好項目保存到本地

step 1: 進入你要放項目的文件夾

step 2:將遠程倉庫文件克隆到本地

git clone /path/to/repository

而後你就能夠在文件裏愉快的玩耍啦~

5-提交本地文件到遠程github倉庫*

step1: 在本地文件夾裏添加遠程倉庫地址,並查看是否添加成功

git remote add origin

git remote -v

step 2 :跟蹤文件

git add .

step 3: 提交文件

git commit -m "提交信息"

step 4: 推送本地文件到遠程倉庫

git push origin master

例如,我將我本地的gittest文件夾提交到github裏的learn-git倉庫裏

6-將遠程倉庫的更新取回本地

法一:

step 1: 查看遠程分支

git branch -r

step 2: 取回分支

a-遠程全部分支的更新複製代碼

git fetch

b-取回特定分支的更新複製代碼

git fetch <遠程主機名> <分支名>

step 3: 比較本地的master分支和origin/master分支的差異

git log -p master..origin/master 或者 git diff

注:按Q退出

step 4: 將取回的遠程分支和本地的分支進行合併

git merge origin/master

法二:

命令-git pull origin master

原理: git pull使用給定的參數運行git fetch,並調用git merge將檢索到的分支頭合併到當前分支中。 使用--rebase,它運行git rebase而不是git merge。

在實際使用中,git fetch更安全一些

由於在merge前,咱們能夠查看更新狀況,而後再決定是否合併

結束

例如,我在github上的learn-git倉庫裏遠程添加一個README.md文件,並將其取回到本地

7-修改本地改動

  • 回退文件,將文件從暫存區回退到工做區

命令:git reset HEAD filename 或者 git reset filename

  • 修改commit信息
    修改最後一次commit : git commit --amend

    修改非最後一次的commit :  git rebase -i HEAD~第幾條記錄複製代碼

8-HTTPS和SSH方式的區別和使用

A-SSH方式

SSH主要用於遠程登陸,將登陸信息所有加密,這是一種相對安全的方式

step 1: 檢查你的電腦上是否已經生成了SSH Key

cd ~/.ssh ls

step 2: 若沒有,建立一個SSH Key

ssh-keygen -t rsa -C "你的email地址"

step 3: 添加SSH Key到Git服務器

git remote rm origin

git remote add origin "Git倉庫的ssh格式地址"

git push origin

B-http方式

此方法相較起來簡單一些,copy https url,而後到git Bash裏面直接用clone命令克隆到本地就行了,可是每次fetch和push代碼都須要輸入帳號和密碼.

本文永久更新地址:github@WolfGirlM

參考資料:
git官方文檔
git簡明指南

相關文章
相關標籤/搜索