准备以后写一些库来方便开发,所以在使用git的情况下来保存代码到GitHub ,一个git可以配置多个密钥,把不同的密钥与不同的远程服务器关联起来,其中还要配置一下config文件,远程的地址可以实现一个git链接多个服务器,本文主要介绍的是链接github的操作,以下的方法均在连接成功后进行的操作 我的电脑是mac ,不知道windows系统的是否有出入,本文章以os系统的git操作为准:
第一次创建github仓库提交代码
cd ............. 切换到当前的项目中
git init 将当前的目录初始化成一个git本地仓库
git add . 将本目录下的所有文件添加到本地缓存区中
git commit -m"****" 将本地的缓存区中的内容提交到本地仓库
git remote add origin ... 创建远程仓库并且给远程仓库取名为origin(注意 这里有可能没有创建远程分支只是创建了仓库)
git push origin master 创建远程分支( 报错Couldn't find remote ref master 表示没有创建远程分支 只是创建了一个origin远程)
git pull origin master --allow-unrelated-histories 第一次提交会出现一些无用的内容 所以先用这句话将远程仓库origin的master分支下的内容更新到本地,这后面的意思是允许一些无用的历史记录一起更新
git pull origin master 拉取远程分支的代码
git push --set-upstream origin master 最后将本地仓库中的代码push到远程仓库origin的master分支下并与远程分支关联,下次直接用git pull便可
git remote set-url origin url 切换远程仓库的地址
ssh-add ~/.ssh/id_rsa_new 完几个远程仓库配置后使用这个命令识别新的密钥
创建一个新分支提交改动
$ git branch newbranch
然后输入这条命令检查是否创建成功
$ git branch
这时终端输出
newbranch
* master
这样就创建成功了,前面的*代表的是当前你所在的工作分支。我们接下来就要切换工作分支。
$ git checkout newbranch
这样就切换完了,可以 $ git branch 确认下。然后你要将你的改动提交到新的分支上。
$ git add .
$ git commit -a
此时可以 $ git status 检查下提交情况。如果提交成功,我们接下来就要回主分支了,代码和之前一样。
$ git checkout master
然后我们要将新分支提交的改动合并到主分支上
$ git merge newbranch
合并分支可能产生冲突这是正常的,虽然我们这是新建的分支不会产生冲突,但还是在这里记录下。下面的代码可以查看产生冲突的文件,然后做对应的修改再提交一次就可以了。
$ git diff
我们的问题就解决了,接下来就可以push代码了。
$ git push -u origin master
新建分支的朋友别忘了删除这个分支
$ git branch -D newbranch
在已有分支开发新分支:
开发过程中经常用到从master分支copy一个开发分支,下面我们就用命令行完成这个操作:
1. 切换到被copy的分支(master),并且从远端拉取最新版本
git checkout master
git pull
2. 从当前分支拉copy开发分支
git checkout -b dev
Switched to a new branch 'dev'
3. 把新建的分支push到远端
git push origin dev
4. 拉取远端分支
git pull
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=origin/<branch> dev
经过验证,当前的分支并没有和本地分支关联,根据提示进行下一步:
5. 关联
git branch --set-upstream-to=origin/dev
6. 再次拉取 验证
git pull