歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Git使用指南

Git使用指南

日期:2017/2/28 14:56:04   编辑:Linux教程

1.創建目錄
$ git config --global user.name "Your Name Comes Here"

$ git config --global user.email [email protected]

$ git config --list 查看相關信息

$ git init

如果作為 Server 存在,那麼可以忽略工作目錄,以純代碼倉庫形式存在。

$ git --bare init

可以在~/.gitconfig設置別名

[alias]
st = status
ci = commit -a
co = checkout

2.文件操作
$ git add .

$ git add file1 file2 file3

$ git add -u

$ git add -p // 為你做的每次修改,Git將為你展示變動的代碼,並詢問該變動是否應是下一次提交的一部分。回答“y”或者“n”。也有其他選項,比如延遲決定:鍵入“?”來學習更多。

$ git rm file1 file2 file3

$ git mv file1 file2


3.提交更改
$ git commit -a -m ' '

$ git commit --amend -a -m ' ' // 修改上一次的信息,不作為新的提交

$ git stash // 保存當前草稿,便於切換分支

$ git stash pop

$ git stash apply

$ git stash list

$ git stash apply stash@{1}

$ git stash clear


4.撤銷更改
$ git reset HEAD file1 // 取消暫存區的文件快照(即恢復成最後一個提交版本),這不會影響工作目錄的文件修改。

$ git reset --hard HEAD^ // 將整個項目回溯到以前的某個版本,可以使用 "git reset"。可以選擇的參數包括默認的 "--mixed" 和 "--hard",前者不會取消工作目錄的修改,而後者則放棄全部的修改。該操作會丟失其後的日志


$ git checkout -- file1 // 使用暫存區快照恢復工作目錄文件,工作目錄的文件修改被拋棄。

$ git checkout HEAD^ file1 // 直接 "簽出" 代碼倉庫中的某個文件版本到工作目錄,該操作同時會取消暫存區快照。

$ git checkout "@{10 minutes ago}" // 直接 "簽出" 10分鐘之前代碼倉庫中的某個文件版本到工作目錄,該操作同時會取消暫存區快照。

$ git checkout "@{5}" // 直接 "簽出" 倒數第五次保存的某個文件版本到工作目錄,該操作同時會取消暫存區快照。

$ git revert SHA1_HASH // 還原特定哈希值對應的提交。該還原記錄作為一個新的提交。


5.查看歷史紀錄或者當前狀態
$ git log

$ git log -p

$ git log --stat --summary

$ git log V3..V7 //顯示V3之後直至V7的所有歷史記錄

$ git log V3.. //顯示所有V3之後的歷史記錄。注意<since>..<until>中任何一個被省略都將被默認設置為HEAD。所以如果使用..<until>的話,git log在大部分情況下會輸出空的。

$ git log –since=”2 weeks ago” //顯示2周前到現在的所有歷史記錄。具體語法可查詢git-ref-parse命令的幫助文件。

$ git log stable..experimental //將顯示在experimental分支但不在stable分支的歷史記錄

$ git log experimental..stable //將顯示在stable分支但不在experimental分支的歷史記錄

$ git log -S'你要找的內容',就可以從全部的歷史紀錄,瞬間找到你要找的東西


$ git blame FILE // 標注出一個指定的文件裡每一行內容的最後修改者,和最後修改時間。

$ git diff // 這個命令只在git add之前使用有效。如果已經add了,那麼此命令輸出為空

$ git diff –cached // 這個命令在git add之後在git commit之前有效。

$ git diff "@{yesterday}" // 比較當前和昨天的內容

$ git status // 這個命令在git commit之前有效,表示都有哪些文件發生了改動


$ git show 5b888 // 使用git show再加上述的commit名稱來顯式更詳細的commit信息

$ git show master // 顯示分支信息

$ git show HEAD // 使用HEAD字段可以代表當前分支的頭(也就是最近一次commit)

$ git show HEAD^ //查看HEAD的父母的信息, 可以使用^表示parent

$ git show HEAD^^ //查看HEAD的父母的父母的信息

$ git show HEAD~4 //查看HEAD上溯4代的信息


$ git tag V3 5b888 //以後可以用V3來代替復雜的名稱(5b888…)

$ git show V3

$ git branch stable V3 //建立一個基於V3的分支

$ git grep “print” V3 //在V3中搜索所有的包含print的行

$ git grep “print” //在所有的歷史記錄中搜索包含print的行

Copyright © Linux教程網 All Rights Reserved