注册github账号, github官网地址:https://github.com/ 根据主页的Read the guide(阅读指南)就可以构建自己的第一个repository(仓库) .
1)首先在本地创建ssh key,
后面的[email protected]
改为你在github上注册的邮箱,之后会要求确认路径和输入密码,我们这使用默认的一路回车就行。
~$ ssh-keygen -t rsa -C "[email protected]"
2)成功的话会在~/
下生成.ssh
文件夹,通过 gedit 打开id_rsa.pub
,复制里面的key(除最后的邮箱名其余全部复制)
。
~$ gedit ~/.ssh/id_rsa.pub
3) 回到github上,进入 Account Settings(账户配置),左边选择SSH and GPG keys,然后New SSH key, title随便填,这里我用的是Ubuntu_af, 粘贴步骤二中的key,这样密银就做好了.
4)为了验证是否成功,在终端中输入:
~$ ssh -T [email protected]
如果是第一次的会提示是否continue,输入yes(这个地方必须输入"yes"三个字母,不可以直接enter)就会看到:You've successfully authenticated, but GitHub does not provide shell access 。这就表示已成功连上github。
5)接下来就是把本地仓库传到github上去,在此之前还需要设置username和email,因为github每次commit都会记录他们。
$ git config --global user.name "your name"
$ git config --global user.email "[email protected]"
其中的your name为你的github用户名,[email protected]为你的github注册邮箱,
这样Git与github之间就全部配置完成.
1)首先新建或使用已经存在的目录作为仓库,
~$ mkdir git_test
2)使用 git init 命令来初始化一个 Git 仓库,
~$ git init
Git 的很多命令都需要在 Git 的仓库中运行,所以 git init 是使用 Git 的第一个命令。在执行完成 git init 命令后,Git 仓库会生成一个 .git 目录,该目录包含了资源的所有元数据,其他的项目目录保持不变。
3)如果当前目录下有几个文件想要纳入版本控制,需要先用 git add 命令告诉 Git 开始对这些文件进行跟踪,然后提交:
把它们添加到暂存区,使用以下第一条命令: (file name为文件夹或文件,也可以使用 * 仓库内文件全部添加到暂存区),
第二条命令将暂存区文件提交到 HEAD,但是还没到你的远端仓库.
~$ git add
~$ git commit -m "代码提交信息"
此期间可以使用
~$ git status
查看项目当前状态
要从 Git 中移除某个文件,就必须要从已跟踪文件清单中移除,然后提交。可以用以下命令完成此项工作
~$ git rm
如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f
~$ git rm -f
如果把文件从暂存区域移除,但仍然希望保留在当前工作目录中,换句话说,仅是从跟踪清单中删除,使用 --cached 选项即可
~$ git rm --cached
首先利用步骤一中所学构建远程仓库
第一次创建完成之后显示信息如下
以上信息告诉我们可以从这个仓库克隆出新的仓库,也可以把本地仓库的内容推送到GitHub仓库。
现在,我们根据 GitHub 的提示,在本地的仓库下运行命令:
$ mkdir runoob-git-test # 创建测试目录
$ cd runoob-git-test/ # 进入测试目录
$ echo "# 菜鸟教程 Git 测试" >> README.md # 创建 README.md 文件并写入内容
$ ls # 查看目录下的文件
README
$ git init # 初始化
$ git add README.md # 添加文件
$ git commit -m "添加 README.md 文件" # 提交并备注信息
[master (root-commit) 0205aab] 添加 README.md 文件
1 file changed, 1 insertion(+)
create mode 100644 README.md
# 提交到 Github
$ git remote add origin [email protected]:afzhang/runoob-git-test.git #afzhang改为自己的github用户名
$ git push -u origin master
origin 为你提交到远程仓库的别名,其中的 master 可以换成你想要推送的任何分支。
至此,我们自己的项目就上传到了github的远程仓库上.
哈哈哈哈哈哈哈哈...............................
下面是一些分支合并命令,等着再细究..........
分支是用来将特性开发绝缘开来的。在你创建仓库的时候,master 是"默认的"分支。在其他分支上进行开发,完成后再将它们合并到主分支上。
创建一个叫做"feature_x"的分支,并切换过去:git checkout -b feature_x
切换回主分支:git checkout master
再把新建的分支删掉:git branch -d feature_x
除非你将分支推送到远端仓库,不然该分支就是 不为他人所见的:git push origin
要更新你的本地仓库至最新改动,执行:git pull
以在你的工作目录中 获取(fetch) 并 合并(merge) 远端的改动。
要合并其他分支到你的当前分支(例如 master),执行:git merge
在这两种情况下,git 都会尝试去自动合并改动。遗憾的是,这可能并非每次都成功,并可能出现冲突(conflicts)。 这时候就需要你修改这些文件来手动合并这些冲突(conflicts)。改完之后,你需要执行如下命令以将它们标记为合并成功:git add
在合并改动之前,你可以使用如下命令预览差异:git diff
为软件发布创建标签是推荐的。这个概念早已存在,在 SVN 中也有。你可以执行如下命令创建一个叫做 1.0.0 的标签:git tag 1.0.0 1b2e1d63ff
1b2e1d63ff 是你想要标记的提交 ID 的前 10 位字符。可以使用下列命令获取提交 ID:git log
你也可以使用少一点的提交 ID 前几位,只要它的指向具有唯一性。
假如你操作失误(当然,这最好永远不要发生),你可以使用如下命令替换掉本地改动:git checkout --
此命令会使用 HEAD 中的最新内容替换掉你的工作目录中的文件。已添加到暂存区的改动以及新文件都不会受到影响。
假如你想丢弃你在本地的所有改动与提交,可以到服务器上获取最新的版本历史,并将你本地主分支指向它:git fetch origin
git reset --hard origin/master
内建的图形化 git:gitk
彩色的 git 输出:git config color.ui true
显示历史记录时,每个提交的信息只显示一行:git config format.pretty oneline
交互式添加文件到暂存区:git add -i