github项目管理的使用

1 篇文章 0 订阅
1 篇文章 0 订阅

本文适用前提:1. 本地有git工具;2.github账号

一、将代码放入本地仓库:

第一步:在本地项目文件夹,右键点击git bash:

第二步,使用如下命令将本地文件初始化成本地git仓库:

git init

在这一步之后,在本地文件夹中将会出现一个.git文件,就是本地仓库的配置文件,很重要。

 第三步,使用如下命令对本地代码进行缓存,注意此时代码还没有进入本地仓库:

git add .

 这一步有可能没有反应也可能出现上面的情况,都是正常的,warning可以忽略。

第四步,使用如下命令将项目代码提交到本地仓库:

git commit -m'描述' 

到这一步,代码就已经存储在本地仓库了。

二、搭建远程仓库:

登录github账号,进入自己的仓库,新建一个远程仓库:

 

按照自己的需要进行设置,然后点击创建即可:

 创建之后有一个项目地址,复制一下之后会用到。

三、将本地仓库和远程仓库进行连接并首次提交代码:

注:因为后续修改,本章中git命令行中的文件名称可能与上面的文件名不一致,大家只要记住都是在一个文件夹(项目文件夹)下操作git就可以了。

第一步:ssh配置

在建立连接之前,要先进行ssh配置,否则会报如下错误:

原因:

Permission denied (publickey) 没有权限的publickey ,出现这错误一般是以下两种原因:一是客户端与服务端未生成 ssh key;二是客户端与服务端的ssh key不匹配。

解决办法:

重新生成一次ssh key ,服务端也重新配置一次即可。

客户端配置(即我们自己的本地服务器):

1.  客户端生成ssh key

ssh-keygen -t rsa -C "邮箱"

改为自己的邮箱即可,途中会让你输入密码,不需要管,回车即可,会生成你的ssh key。(如果重新生成的话会覆盖之前的ssh key) 

2.执行如下语句:

ssh -v git@github.com

最两句会出现以下语句:

 

3. 执行以下语句:

ssh-agent -s

 

4.执行:

4-1

ssh-add ~/.ssh/id_rsa

可能会出现“Could not open a connection to your authentication agent.”

这时可以使用:

ssh-agent bash

然后再次使用4-1命令就没问题了:


Identity added: ...ssh key文件路径的信息

 服务端配置(github远程):

打开刚刚生成的id_rsa的pub文件,将里面的内容复制,进入你的github账号,在settings下,SSH and GPG keys下new SSH key,然后将id_rsa.pub里的内容复制到Key中,完成后Add SSH Key:

 将上面客户端配置中的id_rsa文件中的信息(ssh key)复制到key中即可:

 验证Key

ssh -T git@github.com 

至此,ssh就配置完成了。

ssh配置好之后,就可以进行本地仓库和远程仓库的连接了。

第二步,建立连接:

执行以下语句(将第二步在github上创建的项目地址(ssh地址)复制到这里进行连接):

git remote add origin git@github.com:T1F0/project-practice.git

 这样本地仓库和远程仓库之间就建立了连接,就可以push代码到远程仓库了。

第三步,提交代码到远程分支:

git push -u origin master

 这样就将本地代码提交到了远程仓库的master分支上:

 四、创建分支,进行多人协作开发:

分支分为本地分支和远程分支:本地分支就是在自己的开发工具(或服务器)上的分支,远程分支就是在git版本管理工具(github、gitlab)中的分支。

4.1 创建本地分支

在项目中,一般远程的分支不只有一个master,因此,需要新建其他的分支进行同步协作开发,首先在本地新建一个dev分支(名字任意):

git branch dev

这里可能会出现问题:

$ git branch dev
fatal: not a valid object name: 'master'

这个问题一般是在新建git项目或刚为已存在项目创建了git仓库,想用git branch dev创建dev分支或用git checkout -b dev创建并切换到dev分支时报错。

原因:刚创建的git仓库默认的master分支要在第一次commit之后才会真正建立,否则就像你声明了个对象但没初始化一样。

解决办法:先git add .添加所有项目文件到本地仓库缓存,再git commit -m ""提交到本地仓库:

$ git commit -m "初始化,首次提交"
On branch master

Initial commit

nothing to commit (create/copy files and use "git add" to track)

注意上面虽然显示Initial commit,但是还是没有提交上任何文件(nothing to commit),这样还是不能新建分支,即初始化没有完成,亲测一定要显示commit的序列号(如下面0446161),这时就可以对git仓库创建或切换分支了:

[master (root-commit) 0446161] 初始化首次提交

然后查看分支:

git branch

这里看到除了默认的master分支还有一个刚才新建的dev分支。

4.2 创建远程分支:

创建远程分支可以在github或gitlab中进行操作:

创建之后git pull拉取一下:

$ git pull
From https://xxx
 * [new branch]      dev         -> origin/dev
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

4.3 本地分支与远程分支连接(建立联系),将本地分支提交到远程分支:


git push --set-upstream origin dev

或:

git push origin dev

这时进入github仓库已经有dev分支了,这样就可以将dev分支进行独立的提交与合并了。

五、后续开发更新项目:

当以后需要更新项目的时候有四步需要走
第一步:执行git pull命令将GitHub上的代码当下来合并代码,防止提交新代码的时候起冲突
第二步:执行git add命令将代码添加到仓库
第三步:执行git commit命令将代码提交到仓库
第四步:执行git push命令将代码提交到GitHub

六、项目开发中的git拉取、提交与合并流程:

在切换到远程分支之后,要新建本地分支与远程分支建立映射:

在个人经历的项目开发中,一般是将master分支作为最后提交的万无一失的分支,所以日常代码的修改是不会申请提交到master的,一般是新建一个dev分支,将dev分支作为开发主分支进行使用,一般每个开发成员会有一个子分支,每当有阶段性的功能实现时,开发成员会进行提交,新建一个merge请求到dev分支,也就是请求合并到dev分支,进行冲突的解决和项目成员之间的沟通(因为经常存在多人改一个文件的情况)后,视情况将其合并到dev分支。

七、git使用过程常见bug及问题:

用git push到远程remote的时候一直卡住解决方法:
解决方法是:

1. 添加sendpack.sideband属性并置为false

全局的:git config –global sendpack.sideband false

仓库的:git config –local sendpack.sideband false

2. 先git pull一下

虽然当前明明已经是up-to-date,再git push 就没问题了

参考:

Git - Book

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
GitHub项目管理是一个用于在GitHub管理项目的实用程序。它可以帮助用户获取自某个提交以来的提交列表,并在需要时进行自动分页。这对于跟踪版本之间的进度非常有用。你可以使用git命令克隆一个项目到本地,然后在项目目录中进行操作,例如拷贝文件、添加文件、提交更改等。在提交更改时,你可能需要配置你的用户名和邮箱,然后使用git push命令将更改推送到GitHub仓库。除了必填的项目名之外,其他字段都是可选的。你还可以添加其他合作者,以便与他们协作并赋予他们推送权限。当你在GitHub上创建一个新的仓库时,GitHub会为你提供一个URL,你可以将这个URL分享给其他人,并通过HTTP或SSH访问该项目。你可以使用HTTPS或SSH URL进行抓取和推送,但使用不同的证书将导致访问权限的差异。对于公开项目,你可以优先分享基于HTTPS的URL。如果你想与他人合作,并给予他们推送权限,你可以将他们添加为“Collaborators”。他们将获得对项目Git版本库的读写权限。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [GitHub-Project-Management:自动化GitHub项目管理](https://download.csdn.net/download/weixin_42107165/15084690)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Github项目管理](https://blog.csdn.net/Gavinmiaoc/article/details/79529599)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [GitHub之深入解析如何创建、维护和管理自己的项目](https://blog.csdn.net/Forever_wj/article/details/120470802)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肆〇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值