Linux

25.git链接远程仓库

2018-05-10  本文已影响0人  扶桑啊啊

如果在GitHub里有一个项目,需要在一个新的终端对项目里的内容进行修改。首先要配置github接收本地终端的ssh钥匙。然后将本地与远程仓库连接起来。

添加ssh钥匙

1.在用户主目录下查找.ssh目录,如果有,则进入,查看id_rsa.pub。如果没有,则2

2.生成.ssh目录

ssh-keygen -t rsa -C "youremai@example.com" //在用户目录下,成功后会生成id_rsa和id_rsa.pub文件。

3.在GitHub添加本地的ssh钥匙(复制id_rsa.pub里的内容,粘贴在GitHub库的-settings-keys下)

4.在本地终端新建一个本地仓库,因为我这里链接的远程库叫learngit,所以本地新建仓库名learngit(在/usr/local/git下),同时,将本地仓库设置为一个git仓库。

git init

5.关联远程仓库

git remote add origin git@server-name:path/repo-name.git;

关联后,使用命令git push -u origin master第一次推送master分支的所有内容;

此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;

如果git出错,报错是远程库里有内容,本地库往上推送时会导致两边内容不一样,所以需要先将远程库中的内容拖到(fetch)本地来,在本地将其进行合并(merge),可以用git pull同时来做这两件事。

成功在GitHub里看到刚刚推送的Blog文件。

附:GitHub常用命令(摘自廖雪峰git教程)

简单应用

git config --global user.name"Your Name"  //配置用户名

git config --global user.email"email@example.com"  //配置邮箱

git init  //初始化一个git仓库

git add  //添加文件第一步

git commit  //添加文件第二步

git status   //查看文件修改状态

git diff  //查看文件修改内容

修改,回退历史版本

git reset --hard commit_id  //HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭

git log  //可以查看提交历史,以便确定要回退到哪个版本

git reflog  //查看命令历史,以便确定要回到未来的哪个版本

git checkout -- file  //直接丢弃工作区的修改

ps:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,先用命令git reset HEAD file,再丢弃工作区的修改。

git rm  //删除一个文件

远程仓库操作命令

git remote add origin git@server-name:path/repo-name.git  //关联一个远程库;

git push -u origin master  //第一次推送master分支的所有内容;

git push origin master   //推送最新修改;

git clone  //克隆一个仓库

git remote -v  //查看远程库信息

git push origin branch-name  //从本地推送分支,如果推送失败,先用git pull抓取远程的新提交;

git checkout -b branch-name origin/branch-name  //在本地创建和远程分支对应的分支,本地和远程分支的名称最好一致;

git branch --set-upstream branch-name origin/branch-name  //建立本地分支和远程分支的关联;

git pull  //从远程抓取分支,如果有冲突,要先处理冲突。

分支操作

git branch  //查看分支

git branch  //创建分支

git checkout  //切换分支

git checkout -b  //创建+切换分支

git merge  //合并某分支到当前分支

git branch -d  //删除分支,-D强行删除

git log --graph  //查看分支合并图。

git stash  //保存现场

git stash pop  //恢复现场

标签命令

git tag   //新建一个标签,默认为HEAD,也可以指定一个commit id;

git tag -a -m "blablabla..."  //指定标签信息;

git tag -s -m "blablabla..."  //用PGP签名标签;

git tag  //查看所有标签。

git push origin   //推送一个本地标签;

git push origin --tags  //可以推送全部未推送过的本地标签;

git tag -d   //可以删除一个本地标签;

git push origin :refs/tags/<tagname>  //可以删除一个远程标签。

上一篇 下一篇

猜你喜欢

热点阅读