Git 命令行的使用

Git是什么澜共?

Git 屬于分散型版本管理系統(tǒng),是為版本管理而設(shè)計的軟件糖权。

遠(yuǎn)程倉庫

創(chuàng)建公開密鑰認(rèn)證所需的ssh key

$ ssh-keygen -t rsa -C "your_email@example.com"
Generating public/private rsa key pair.
Enter file in which to save the key
(/Users/your_user_directory/.ssh/id_rsa): 按回車鍵
Enter passphrase (empty for no passphrase): 輸入密碼
Enter same passphrase again: 再次輸入密碼

id_rsa 文件是私有密鑰企量,id_rsa.pub 是公開密鑰。

添加公開密鑰

登錄github闹伪,點(diǎn)擊右上角頭像沪铭,選擇Settings,再點(diǎn)擊SSH and GPG keys,設(shè)置SSH keys偏瓤。點(diǎn)擊New SSH key 把id_rsa.pub 文件里的內(nèi)容添加進(jìn)去伦意。完成以上設(shè)置后,就可以用手中的私人密鑰與GitHub 進(jìn)行認(rèn)證和通信了硼补。讓我們來實(shí)際試一試驮肉。

$ ssh -T git@github.com
The authenticity of host 'github.com (207.97.227.239)' can't be established.
RSA key fingerprint is fingerprint值 .
Are you sure you want to continue connecting (yes/no)? 輸入yes
Hi hirocastest! You've successfully authenticated, but GitHub does not
provide shell access.

配置

git config --global user.name xxx #方便產(chǎn)品經(jīng)理找(懟)你
git config --global user.email yyy #方便產(chǎn)品經(jīng)理找(懟)你
git config --global push.default simple 
git config --global core.quotepath false #防止文件名變成數(shù)字
git config --global core.editor "vim" #使用vim編輯提交信息

基本操作

git init——初始化倉庫

要使用Git 進(jìn)行版本管理,必須先初始化倉庫已骇。

mkdir git-demo
cd git-demo
git init
Initialized empty Git repository in /Users/hirocaster/github/github-book
/git-tutorial/.git/

git status——查看倉庫的狀態(tài)

git status命令用于顯示Git 倉庫的狀態(tài)离钝。

$ git status
# On branch master
#
# Initial commit
#
nothing to commit (create/copy files and use "git add" to track)

git add——向暫存區(qū)中添加文件

$ git add README.md
$ git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
#
# new file: README.md
#

git commit——保存?zhèn)}庫的歷史記錄

git commit命令可以將當(dāng)前暫存區(qū)中的文件實(shí)際保存到倉庫的歷史記錄中票编。

$ git commit -m "first"
[master (root-commit) 9f129ba] first
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 README.md

-m 參數(shù)后的"First commit"稱作提交信息,是對這個提交的概述卵渴。

git log——查看提交日志

git log命令可以查看以往倉庫中提交的日志慧域。

$ git log
commit 33c1c74e376fd66d0747a8093c4c73b7e9d6427a
Author: wang7211401 <wang7211401@163.com>
Date:   Thu Jul 6 16:04:15 2017 +0800
first

git diff——查看更改前后的差別

git diff命令可以查看工作樹、暫存區(qū)浪读、最新提交之間的差別昔榴。

git remote add——添加遠(yuǎn)程倉庫

在GitHub 上創(chuàng)建的倉庫路徑為“git@github.com:用戶名/git-tutorial.git”。現(xiàn)在我們用git remote add命令將它設(shè)置成本地倉庫的遠(yuǎn)程倉庫碘橘。

$ git remote add origin git@github.com:github-book/git-tutorial.git

git push——推送至遠(yuǎn)程倉庫

推送至master 分支

$ git push -u origin master
Counting objects: 20, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (10/10), done.
Writing objects: 100% (20/20), 1.60 KiB, done.
Total 20 (delta 3), reused 0 (delta 0)
To git@github.com:github-book/git-tutorial.git
* [new branch] master -> master
Branch master set up to track remote branch master from origin.

git pull——獲取最新的遠(yuǎn)程倉庫分支

git clone——獲取遠(yuǎn)程倉庫

git branch——顯示分支一覽表

git branch命令可以將分支名列表顯示互订,同時可以確認(rèn)當(dāng)前所在分支。

$ git branch
* master

git checkout -b——創(chuàng)建痘拆、切換分支

$ git checkout -b feature-A
Switched to a new branch 'feature-A'

git merge——合并分支

$ git checkout master
Switched to branch 'master'
$ git merge --no-ff feature-A

git log --graph——以圖表形式查看分支

git reset——回溯歷史版本

$ git reset --hard 33c1c7

git reflog ——查看當(dāng)前倉庫執(zhí)行過的操作的日志仰禽。

$ git reflog
33c1c74 HEAD@{0}: checkout: moving from feature-A to master
33c1c74 HEAD@{1}: checkout: moving from master to feature-A
33c1c74 HEAD@{2}: commit (initial): first

git rebase -i——壓縮歷史

git stash——用于保存和恢復(fù)工作進(jìn)度

原則

1.git push 之前必須 git pull
2.git pull 之前必須 git commit
3.git commit 之前有時必須 git add

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市纺蛆,隨后出現(xiàn)的幾起案子吐葵,更是在濱河造成了極大的恐慌,老刑警劉巖桥氏,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件温峭,死亡現(xiàn)場離奇詭異,居然都是意外死亡字支,警方通過查閱死者的電腦和手機(jī)诚镰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來祥款,“玉大人清笨,你說我怎么就攤上這事∪絮耍” “怎么了抠艾?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長桨昙。 經(jīng)常有香客問我检号,道長,這世上最難降的妖魔是什么蛙酪? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任齐苛,我火速辦了婚禮,結(jié)果婚禮上桂塞,老公的妹妹穿的比我還像新娘凹蜂。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布玛痊。 她就那樣靜靜地躺著汰瘫,像睡著了一般。 火紅的嫁衣襯著肌膚如雪擂煞。 梳的紋絲不亂的頭發(fā)上混弥,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天,我揣著相機(jī)與錄音对省,去河邊找鬼蝗拿。 笑死,一個胖子當(dāng)著我的面吹牛蒿涎,可吹牛的內(nèi)容都是我干的哀托。 我是一名探鬼主播,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼同仆,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了裙品?” 一聲冷哼從身側(cè)響起俗批,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎市怎,沒想到半個月后岁忘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡区匠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年干像,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片驰弄。...
    茶點(diǎn)故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡麻汰,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出戚篙,到底是詐尸還是另有隱情五鲫,我是刑警寧澤,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布岔擂,位于F島的核電站位喂,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏乱灵。R本人自食惡果不足惜塑崖,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望痛倚。 院中可真熱鬧规婆,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至削锰,卻和暖如春通铲,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背器贩。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工颅夺, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蛹稍。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓吧黄,卻偏偏與公主長得像,于是被迫代替她去往敵國和親唆姐。 傳聞我的和親對象是個殘疾皇子拗慨,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評論 2 348

推薦閱讀更多精彩內(nèi)容