$ sudo yum install git
複製代碼
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
複製代碼
$ git config --list
複製代碼
cd ~/.ssh
ls
authorized_keys2 id_dsa known_hosts config id_dsa.pub
複製代碼
$ ssh-keygen -t rsa -C "your_email@youremail.com"
Creates a new ssh key using the provided email # Generating public/private rsa key pair.
Enter file in which to save the key (/home/you/.ssh/id_rsa):
複製代碼
Enter same passphrase again: [Type passphrase again]
複製代碼
Your public key has been saved in /home/you/.ssh/id_rsa.pub.
The key fingerprint is: # 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@youremail.com
複製代碼
$ cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0X6L1zLL4VHuvGb8aJH3ippTozmReSUzgntvk434aJ/v7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8vR3c8E7CjZN733f5AL8uEYJA+YZevY5UCvEg+umT7PHghKYaJwaCxV7sjYP7Z6V79OMCEAGDNXC26IBMdMgOluQjp6o6j2KAdtRBdCDS/QIU5THQDxJ9lBXjk1fiq9tITo/aXBvjZeD+gH/Apkh/0GbO8VQLiYYmNfqqAHHeXdltORn8N7C9lOa/UW3KM7QdXo6J0GFlBVQeTE/IGqhMS5PMln3 admin@admin-PC
複製代碼
$ ssh -T git@github.com
Attempts to ssh to github
複製代碼
若是,看到:git
Hi xxx! You've successfully authenticated, but GitHub does not # provide shell access. 複製代碼
恭喜你,你的設置已經成功了。github
$ git init
複製代碼
該命令將建立一個名爲 .git 的子目錄,這個子目錄含有你初始化的 Git 倉庫中全部的必須文件,這些文件是 Git 倉庫的骨幹。 可是,在這個時候,咱們僅僅是作了一個初始化的操做,你的項目裏的文件尚未被跟蹤。 3. 克隆現有的倉庫(ssh方式,不推薦http)web
$ git clone git@192.168.1.xxx:web/egoo-admin.git(倉庫地址)
複製代碼
$ git status
On branch master
nothing to commit, working directory clean
複製代碼
5.如今,讓咱們在項目下建立一個新的 README 文件。 若是以前並不存在這個文件,使用 git status 命令,你將看到一個新的未跟蹤文件:shell
$echo 'My Project' > README
$ git status
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
README
nothing added to commit but untracked files present (use "git add" to track)
複製代碼
$ git add README
複製代碼
$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
new file: README
複製代碼
只要在 Changes to be committed 這行下面的,就說明是已暫存狀態。 若是此時提交,那麼該文件此時此刻的版本將被留存在歷史記錄中。 你可能會想起以前咱們使用 git init 後就運行了 git add (files) 命令,開始跟蹤當前目錄下的文件。 git add 命令使用文件或目錄的路徑做爲參數;若是參數是目錄的路徑,該命令將遞歸地跟蹤該目錄下的全部文件。安全
$ git commit
複製代碼
另外,你也能夠在 commit 命令後添加 -m 選項,將提交信息與命令放在同一行,以下所示:bash
$ git commit -m "Story 182: Fix benchmarks for speed"
複製代碼
好,如今你已經建立了第一個提交! 能夠看到,提交後它會告訴你,當前是在哪一個分支(master)提交的,本次提交的完整 SHA-1 校驗和是什麼(463dc4f),以及在本次提交中,有多少文件修訂過,多少行添加和刪改過。 請記住,提交時記錄的是放在暫存區域的快照。 任何還未暫存的仍然保持已修改狀態,能夠在下次提交時歸入版本管理。 每一次運行提交操做,都是對你項目做一次快照,之後能夠回到這個狀態,或者進行比較。服務器
git log
commit ca82a6dff817ec66f44342007202690a93763949
Author: Scott Chacon <schacon@gee-mail.com>
Date: Mon Mar 17 21:52:11 2008 -0700
changed the version number
commit 085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7
Author: Scott Chacon <schacon@gee-mail.com>
Date: Sat Mar 15 16:40:33 2008 -0700
removed unnecessary test
commit a11bef06a3f659402fe7563abf99ad00de2209e6
Author: Scott Chacon <schacon@gee-mail.com>
Date: Sat Mar 15 10:31:28 2008 -0700
first commit
複製代碼
默認不用任何參數的話,git log 會按提交時間列出全部的更新,最近的更新排在最上面。 正如你所看到的ssh
$ git fetch [remote-name]
複製代碼
這個命令會訪問遠程倉庫,從中拉取全部你尚未的數據。 執行完成後,你將會擁有那個遠程倉庫中全部分支的引用,能夠隨時合併或查看。 必須注意 git fetch 命令會將數據拉取到你的本地倉庫 - 它並不會自動合併或修改你當前的工做。 當準備好時你必須手動將其合併入你的工做。 若是你有一個分支設置爲跟蹤一個遠程分支,可使用 git pull 命令來自動的抓取而後合併遠程分支到當前分支。 這對你來講多是一個更簡單或更舒服的工做流程;默認狀況下,git clone 命令會自動設置本地 master 分支跟蹤克隆的遠程倉庫的 master 分支(或不論是什麼名字的默認分支)。 運行 git pull 一般會從最初克隆的服務器上抓取數據並自動嘗試合併到當前所在的分支。ide
git push origin master
複製代碼
只有當你有所克隆服務器的寫入權限,而且以前沒有人推送過期,這條命令才能生效。 當你和其餘人在同一時間克隆,他們先推送到上游而後你再推送到上游,你的推送就會毫無疑問地被拒絕。 你必須先將他們的工做拉取下來並將其合併進你的工做後才能推送。 13. 遠程倉庫的移除與重命名,若是想要重命名引用的名字能夠運行 git remote rename 去修改一個遠程倉庫的簡寫名。 例如,想要將 pb 重命名爲 paul,能夠用 git remote rename 這樣作:工具
$ git remote rename pb paul
$ git remote
origin
paul
複製代碼