One - One Code All

Blog Content

git配置及代码推送

Linux-Mac   2012-05-20 08:07:19

1. 下载安装git 并创建git账号

2. 设置公钥

我们本地的Git仓库与git上的仓库之间的传输一般采用SSH方式,方便进行版本控制,https的方式则用的不多。SSH传输是加密的,为了方便多个repository的版本控制,一般我们需要配置验证信息,其实就是配置SSH Key,首先在自己当前电脑上生成SSH Key,在git-bash窗口中输入:

$ ssh-keygen -t rsa -C "youremail@example.com"

youremail@example.com 就是你在git上注册的邮箱,之后需要确认Key的保存路径和密码,一般我们直接敲回车,默认就可以了。这样子在用户根目录下回生成 .ssh 文件夹,这个用户根目录,如果是windows 一般会在C盘用户(users)下:
这里写图片描述
可以通过

$ cd ~/
$ pwd

进入该目录,这和Linux下的操作一致。
生成公钥以后,在.ssh文件夹中会有id_rsa和id_rsa.pub文件,则公钥就在id_rsa.pub中,可以用cat 命令查看其内容,并复制以ssh-rsa 开头的这段代码。
这里写图片描述
打开git,并登陆账号,在右上角下拉菜单中选择个人设置 ,进入以后选择SSH公钥,可以根据你的计算机名称设置公钥名称(自行设置),然后将刚刚复制的内容粘贴到公钥内容的文本框中,如下图并点击添加:
这里写图片描述
在下方已添加的公钥中则可以查看刚刚添加的公钥。
为了验证公钥是否添加成功,输入一下命令:

$ ssh -T git@git.git

应该会有这样的询问:

$ The authenticity of host 'git.git (219.146.244.71)' can't be established.
RSA key fingerprint is (……).
Are you sure you want to continue connecting (yes/no)?

输入yes,回车,如果设置成功则会有:

$ Hello YourName! You've connected to Coding.net via SSH successfully!

这样子在.ssh文件夹中会出现known_hosts文件。
3. 配置账户

$ git config --global user.name “your_username”  #设置用户名
$ git config --global user.email “your_Email_address”  #设置邮箱地址(建议用注册git的邮箱)

4. 在git中创建远程仓库

点击页面右上侧加号,创建项目,填写基本信息,其他内容默认,建议不启用README.md文件初始化项目,该文件可以在后期创建,如果创建的话,后面需要先提取远程仓库文件(其实就是README.md文件)并与本地仓库文件合并才能再讲本地仓库文件push到远程仓库。
5. 创建本地仓库(如果已有则略过本步骤)

在git-bash中进行如下操作,创建简单的版本库,加入测试文件:

$ mkdir test-git                           # 创建测试目录
$ cd test-git/                             # 进入测试目录
$ echo "Coding-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


如果已有本地仓库,则cd到对应的文件目录中。
6. 连接本地与远程仓库

在git网页上项目中可以找到刚刚创建的项目,点击打开,可以在右侧下方看到SSH方式访问仓库的链接地址(选择SSH,而不是HTTPS),如下图:
这里写图片描述
全选复制链接地址,然后在git-bash中输入:

$ git remote add origin git@github.com…… #上面复制的SSH方式的链接地址,origin为名字,自己设置
$ git push -u origin master

可以通过

$ git remote -v

来查看当前本地仓库对应每个别名已经连接的远程仓库有哪些。
一般情况下,如果git上新建的远程仓库中没有文件,则可以将本地的文件push 到远程仓库中,然而,如果远程仓库中有一些本地没有的文件,则在执行第二条命令的时候会报如下错误:

error: failed to push some refs to '...'(ssh 地址) Updates were rejected because the remote contains work that you do not have locally. This is usually caused by another repository pushing to the same ref. You may want to first integrate the remote changes (e.g....) before pushing again.

则可以将远程仓库中的文件fetch到本地,并merge,一般采用pull命令(pull=fetch+merge):

$ git pull orgin master

将远程仓库中的文件取回本地,并合并以后再执行push命令:

$ git push -u origin master

则可以将本地仓库上传到远程仓库。
7. 提取远程仓库

正如前面一节所提到的:

$ git fetch #从远程仓库下载新的分支与数据
$ git merge #将远程分支合并到当前所在的本地分支

上面两句一般同时执行,当然也可以直接从远程仓库提取数据并尝试合并到当前分支,如下:

$ git pull origin master

如果记不清你之前设置的别名(这里就是origin),可以通过

$ git remote -v

查看,或者直接tab补全,后面的参数为branch(分支)名字。

如果是更新本地文件,首先可以用:

$ git fetch origin

来查看远程仓库已经更新的文件,再通过:

$ git merge origin/master

将更新的内容合并到本地仓库。
8. 推送到远程仓库

如果是推送分支到远程,则用:

$ git push origin master

9. 删除远程仓库

直接用命令:

$ git remote rm origin


上一篇:git命令使用-创建查看分支,提交代码
下一篇:h文件中报错 unterminated conditional directive的原因

The minute you think of giving up, think of the reason why you held on so long.