使用IDEA和Git进行代码管理

百闻不如一见,都说程序员必须会用github进行代码管理,那究竟要如何使用呢?

这篇文章带大家一起学习如何使用idea和GitHub配合进行代码开发和代码管理

你需要准备的工具有:IDEA、git以及GitHub账号

生成SSH密钥

运行gitbash,在终端输入:

cd ~/.ssh

如果提示:No such file or directory 说明你是第一次使用git需要生成密钥。如果不是第一次使用,可以选择使用已有密钥或者重新生成密钥方式。

生成新密钥:

ssh-keygen -t rsa -C "your SSH key comment"

一路回车即可。

密钥生成后可以在你本机系统盘下用户文件夹里发现一个.ssh文件,其中的id_rsa.pub文件里储存的即为刚刚生成的ssh公钥。

也可以使用命令直接复制密钥到剪贴板:

clip < ~/.ssh/id_rsa.pub

为github账号设置SSH密钥:

点击头像进入settings

点击SSHand GPG keys

输入自定义的名字,下方的密钥框里面填写刚刚复制好的公钥即可。

现在GitHub已经认识你了。

配置idea

进入settings

选择git

在右侧的Path to Git executable里面选择自己电脑上的cmd\git.exe路径即可。

点击OK结束

拉取GitHub仓库内容

选择Project from Version Control…

在URL一栏输入GitHub里面clone的SSH连接

下方文本框里的类似于git@github.com:xxxxxx /xxxxxxxx.git

Directory记得选择自己一个特定的目录当作GitHub仓库。

点击clone即可。

现在你已经可以从GitHub上面clone代码到本地了,那么,要是我在本地修改了代码,怎么同步到仓库呢?

代码同步

首先,写完自己的代码之后,先commit,再push

在这里我新建了一个222.txt

首先,commit

点击commit

出现提示:

然后push到GitHub仓库:

接着点击push即可。

出现提示:

然后再进入GitHub的code界面就会看到已经同步成功:

总结一下,其实这个过程就是让github代码管理知道你是谁,给你开通权限。

注:如果出现idea没弹出commit或者push成功的提示,在gitbash界面运行:

git config --global user.email "youremail@xxx.com"

git config --global user.name "yourname"

多支线团队协作

这里给出两个方法,可以灵活选择

方法一

正式开始操作的小伙伴可能有有疑问了:弄啥嘞!我是新手,自己写不出那么多代码,代码是从大佬那里搞的,我既想自己建一个仓库用来团队协作开发,又想时时刻刻同步大佬的修改不错过一点消息,该咋办?

先分析这个问题:

同学A--->获取大佬代码

同学A--->获取大佬的实时更新

同学A--->新建自己的代码仓库使用大佬的代码和小伙伴进行开发

大佬--->不明所以,禁止同学A修改自己的著作

其他小伙伴--->修改这位同学A新建的仓库里面的代码,可以push到A的仓库

其他小伙伴--->获取大佬的实时更新

OK,可以看到,如果你是A,你需要同时同步两伙人的代码,还得自己能够push

有点复杂,不过没事,咱们还是一步一步分析:

首先在本地找个风水好的地方新建文件夹作为接下来奋战的阵地,也就是你的仓库

打开gitbash准备开始操作

下载大佬的代码到这个仓库

git clone <大佬的仓库URL> <你本地计算机文件夹路径>

添加大佬的仓库为远程仓库,并为其起一个名字

git remote add DLCode <大佬的仓库URL>

在这里,DLCode 是你为大佬的仓库起的名字

要确认大佬的仓库已成功添加为远程仓库,运行以下命令

git remote -v

确保你的本地仓库中有一个名为 "master" 的分支,并且在该分支上有至少一个提交(commit)

git branch

如果你没有 "master" 分支,或者 "master" 分支是空的,你需要创建一个分支并进行提交

git init          # 初始化一个Git仓库

touch README.md   # 创建一个 README 文件,这只是一个示例

git add .

git commit -m "Initial commit"

在GitHub网页上手动创建一个新的仓库

执行以下步骤将你的本地仓库关联到新的GitHub仓库

git remote add origin <新仓库的URL>

这里的 <新仓库的URL> 是你刚刚在GitHub上创建的新仓库的URL地址

推送你的本地仓库到新的GitHub仓库

git push -u origin master

在你的本地仓库中,进行自己的修改并提交你的修改

git add .

git commit -m "描述你的修改"

推送你的修改到你们自己的GitHub仓库

git push origin master

在你的本地仓库中,使用以下命令拉取大佬的最新修改

git pull DLCode master

这样你就获得了两个远程仓库,DLCode和origin, 你可以根据需要修改远程仓库的名称为mygithub

git remote rename origin mygithub

如果你想查看特定远程仓库的详细信息

git remote show <remote_name>   #<remote_name> 是远程仓库的名称

好,现在要向团队其他成员撒播阳光了

团队的其他成员要如何操作呢?

其他团队成员需要克隆你们的GitHub仓库到他们的本地计算机

git clone <GitHub仓库的URL>

为了获取大佬的最新代码,其他团队成员可以执行以下命令

git remote add DLCode <大佬的仓库URL>

定期使用以下命令来获取大佬的最新代码

git pull DLCode master

在各自的本地仓库中修改代码,然后将这些修改推送到GitHub上

git push origin master

需要注意的是,在这种方式之下,在IDEA打开project的方式不需要new,只需要open你clone下来的代码就可以了

方法二

需求:从A仓库获得代码,在本地修改之后push到B仓库,A仓库不能修改,只能获取实时更新,B仓库可以修改和获取实时更新。

克隆 A 仓库

git clone <A仓库的URL>

在本地克隆的 A 仓库中,添加 B 仓库作为远程仓库,并将其命名为 "B"

进入A的一级目录之后

git remote add B <B仓库的URL>

在本地 A 仓库中,创建一个名为 "my-feature"新的分支,以便在此分支上进行修改并将你切换到该分支,没有将该分支推送到 A 仓库或向 A 仓库的创建者提交合并请求(Pull Request),其他人不会看到你的更改

git checkout -b my-feature

验证你当前所在的分支

git branch

后期手动切换分支

git checkout -b my-feature

使用IDEA进行修改操作

git add .
 
git commit -m "描述你的修改"

将其推送到 B 仓库时,把 "my-feature" 分支的修改推送到 B 仓库的master分支

git push B master

获取 A 仓库的最新更改,拉取 A 仓库的最新更改并将其合并到你的本地仓库的主分支(假设主分支为 "master")

git checkout master

git pull origin master

此时my-feature分支不会直接受到影响

在my-feature分支中同步最新更改,保持my-feature分支与主分支同步

git checkout my-feature

git merge master

尝试将一个文件大小超过 GitHub 文件大小限制(100.00 MB)的文件推送到 GitHub 仓库

安装 Git LFS(如果尚未安装):https://git-lfs.github.com/

将要追踪的大文件添加到 Git LFS 中

git lfs track "path/to/largefile.sql"

将文件提交到 Git LFS

git add path/to/largefile.sql

git commit -m "Add large file"

git push origin my-feature

确定大文件已经成功添加到 Git LFS 中,查看.gitattributes文件检查是否包含了你要追踪的大文件的路径

尝试将文件添加到 Git LFS 中但是仍然收到 GitHub 的文件大小限制错误

如果你不需要这个文件

git rm mysql/sql/region.sql

丢弃当前的未提交更改

git stash save "Stashing my changes"

修改历史记录

git filter-branch --tree-filter 'rm -f path/to/largefile.sql' HEAD

强制推送到远程仓库

git push -f B my-feature

这样操作之后,在IDEA里面进行pull和push

PULL

可选部分选择A仓库在你的工作目录里面的名称+A仓库开发者的分支(主分支)

PUSH

选择自己的仓库的名称+自己所在的分支

OK,那么到现在使用IDEA和Git进行协作开发就唠叨完啦,有任何疑问或者建议欢迎来信~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值