$ 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
复制代码