Git&Github

         本菜鸟最近开始玩Github了,呵呵,好像还挺有意思的哦。不知道小鸟们,赶紧google去,还有大家赶紧follow我。开个玩笑,进入正体。

         最近想把自己做的一个小小小小的应用放到github上去,顺便学习下git和玩玩github,我用两台电脑往github上的项目push代码,想模拟social coding的感觉。呵呵,但是出现了这个错误

To git@github.com:archermind/LEDTorch.apk-for-Android.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:archermind/LEDTorch.apk-for-Android.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again.  See the 'Note about
fast-forwards' section of 'git push --help' for details.

错误产生的原因是,因为我在A电脑上向github上的项目push过代码,而又在B电脑上修改了代码并且要push到github上去,这个时候,git为了避免冲突的发生,rejected。

        正确的做法是,在push之前git fetch origin,将github上的新代码拉下来,然后在本地merge,如果没有冲突就可以push了,如果有冲突的话要在本地解决冲突后,再push。具体做法就是。


         本菜鸟最近开始玩Github了,呵呵,好像还挺有意思的哦。不知道小鸟们,赶紧google去,还有大家赶紧follow我。开个玩笑,进入正体。

         最近想把自己做的一个小小小小的应用放到github上去,顺便学习下git和玩玩github,我用两台电脑往github上的项目push代码,想模拟social coding的感觉。呵呵,但是出现了这个错误

To git@github.com:archermind/LEDTorch.apk-for-Android.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:archermind/LEDTorch.apk-for-Android.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again.  See the 'Note about
fast-forwards' section of 'git push --help' for details.

错误产生的原因是,因为我在A电脑上向github上的项目push过代码,而又在B电脑上修改了代码并且要push到github上去,这个时候,git为了避免冲突的发生,rejected。

        正确的做法是,在push之前git fetch origin,将github上的新代码拉下来,然后在本地merge,如果没有冲突就可以push了,如果有冲突的话要在本地解决冲突后,再push。具体做法就是。

git fetch origin

git merge origin/master

git push origin master

       

当然在github上玩git的时候,还有一些个小问题,菜鸟们要注意了。


1git所使用传输的协议通常有三种,HTTPGitSSH。但是要注意的是,(HTTPGit)通常都是只读的,所以虽然二者对大多数人都可用,但执行写操作时还是需要SSH。所以,到github上你可以看到下图:


想要给githubpush代码的话,记得要用SSH。具体的做法能就是

git remote add origin [ssh那一栏的地址] //不知道有没有说错哦? 牛牛们,给点意见呗



2,由于大多数Git 服务器使用SSH公钥来授权,所以位了能够向github上的特定项目贡献代码,必须将能够表示自己的publickey提交给github上相关项目的维护人员。他们所要做的事就是把给位贡献者SSH生成的publickey加入进来。如下图:



现在好像更流行的办法是fork该项目吧?没用过,有机会去体验下。


总之,git是个好东西,github也挺好玩的,以后有什么经验再来分享。


### GitGitHub的关系及使用方法 Git 是一种分布式版本控制系统,而 GitHub 是一个基于 Git 的代码托管平台和开发者社区。两者相辅相成,Git 提供了本地代码管理的强大功能,而 GitHub 则为开发者提供了远程协作环境、项目管理和工具集成的支持[^4]。 在实际开发中,Git 用于在本地对代码进行版本控制,包括创建分支、提交更改等操作。而 GitHub 则作为远程仓库,允许开发者将本地的更改推送到远程服务器,或者从远程服务器拉取其他人的更改。这种远程同步机制使得团队协作变得更加高效[^4]。 以下是一个简单的流程,展示如何使用 GitGitHub 进行协作开发: #### 1. 配置 GitHub 账号和远程库 首先需要有一个 GitHub 账号,并创建一个远程仓库。登录 GitHub 后,点击右上角的『+』号,选择『new repository』来创建一个新的远程库[^1]。 #### 2. 将本地仓库与远程仓库关联 假设已经在本地初始化了一个 Git 仓库,可以通过以下命令将本地仓库与远程仓库关联: ```bash git remote add origin https://github.com/username/repository.git ``` #### 3. 创建分支并提交更改 在开发新功能时,通常会创建一个新的分支以避免影响主分支(`main` 或 `master`)。例如,创建一个名为 `feature/login` 的分支并提交更改: ```bash git checkout -b feature/login git add . git commit -m "Add login feature" ``` 然后将该分支的更改推送到远程仓库: ```bash git push origin feature/login ``` 上述命令会将本地的 `feature/login` 分支推送到远程仓库,并起个别名 `origin`[^2]。 #### 4. 配置代理(可选) 如果网络环境需要通过代理访问 GitHub,可以配置 Git 使用系统代理。例如,设置 HTTP 和 HTTPS 的代理端口: ```bash git config --global http.proxy http://127.0.0.1:1234 git config --global https.proxy http://127.0.0.1:1234 ``` 这一步对于某些特定网络环境可能非常重要[^3]。 #### 5. 拉取请求(Pull Request) 当功能开发完成后,可以通过 GitHub 网站发起一个拉取请求(Pull Request),邀请团队成员审查代码并合并到主分支。GitHub 提供了详细的审查工具和讨论功能,方便团队协作[^4]。 ### 总结 GitGitHub 的结合为开发者提供了一套完整的解决方案,涵盖了代码管理、版本控制、团队协作和自动化工具集成等功能。通过合理使用 Git 命令和 GitHub 平台,可以显著提高开发效率和代码质量。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值