我在企业中是怎么简单使用Git的参与团队开发的?Git使用教程

Git是一门工具,也是一门学问,你想怎样学、怎样用都取决于你;

我这里说的是我们能够入门使用Git与切实体会到Git好处的基本要求。


一、下载安装

很简单,可参看百度教程git下载安装图文教程


二、初始化操作(图示可参看博客git-ssh 配置和使用

1、首次使用git,需设置git的用户名与邮箱:

$ git config --global user.name "username"
$ git config --global user.email "your email"


2、查看SSH Key是否生成过(SSH安全外壳协议,可参看博客安全外壳协议):

$ cd ~/.ssh

$ ls 查看是否有id_rsa(私钥)和id_rsa.pub(公钥)两个文件


3、如果SSH Key未生成过,则使用如下命令创建或覆盖

$ ssh-keygen -t rsa -C “your email”

设置密码(输入两次密码以确认)或不设置密码(三次回车)


4、登录github或gitlab官网,设置SSH Key后,Git Bash即可正常使用


三、项目开发使用步骤

1、在GitHub或GitLab上创建远程仓库


2、克隆项目,打开Bash,cd到本地想创建本地仓库的位置(一般建议你的开发就应该在这个目录上,比如Eclipse的workspace就在这个目录上,你对本地仓库的操作都会同步到开发中,在Eclipse中项目点右键refresh一下就会更新,超级方便),然后:

$ git clone "仓库的 SSH url"(成功的话就能ls查看到仓库文件,cd进去会目录上会显示(master)主分支)


3、创建分支,一般不推荐直接在主分支上开发,所以创建子分支作为开发分支

$ git branch 分支名(创建分支)

$ git checkout 分支名 (切换分支)


4、在进行了修改后,提交修改到缓存区

$ git add 目录/文件/.(.代表目录下的全部文件)


5、如果本阶段修改已完成,可以将修改提交到本分支(即可多次add后commit)

$ git commit -m "提交说明"

这里说一下git的运行区域(图解可参看博客点击打开链接

工作区就是我们本地的文件系统

版本库包括缓存区与分支区,执行add的修改就被提交到了缓存区,执行commit后的修改就被提交到了分支区


6、如果一天的任务完成或一阶段任务完成了,就可以把本地分支的内容提交到远程仓库中,以供管理者审查、合并

$ git push origin 分支名


7、因为使用Git的目的就是多人协作开发,所以别人完成了的工作可能是你完成工作的基础,这时候你的本地就需要别人push到远程仓库(你们使用的是一个远程仓库)的代码,可以通过:

$ git pull origin 分支名(拉取主仓库到本地本分支)

上述过程其实相当于两步,

git fetch origin (将远程仓库拉取到本地) 与  git merge origin 分支名 (合并本地与分支)

*这样做其实是不太规范的,规范的做法是:master主分支上存放远程仓库的所有版本,子分支只用来本地开发和上传修改,所以所有的pull都应当拉到master上,而不是直接到pull子分支,然后再通过merge master实现与master子分支合并

$ git checkout master (从当前分支切换到主分支)

$ git pull(拉取远程仓库当前版本到主分支)

$ git checkout 子分支名 (从主分支切换到子分支)

$ git merge master(与主分支合并)

注意:还有一个git rebase指令同样是合并分支,与只是被合并的分支就消亡了,是完全的合并,而merge是内容合并。rebase可以与pull一起使用,这在第九点冲突时会说到。


8、在拉取之前,因为我们有本地的修改,它们还未保存,pull后会丢失,我们可以commit提交、版本合并后再拉取,但你可能还不想这样做,而且你的代码不一定到了上传、合并的时机,那就需要暂存我们的修改

$ git stash(暂存修改)

$ git stash pop (pull之后,弹出修改)


9、在这个过程中,有很大可能遇到冲突

最常见的冲突是内容冲突:你修改了一个函数的实现,而远程仓库版本跟你的不一样,当主版本和你的修改合并时,这段代码的修改到底听谁的,所以就冲突了。通常出现在git pullgit merge的过程中。

这种冲突的解决方式是:直接修改冲突文件,在执行指令后有冲突的文件会标识在命令行中,在冲突文件中有如下标志:

<<<<<<< HEAD
这之间的是你的修改
=======
这之间是其他人的修改
>>>>>>> 6853e5ff961e684d3a6c02d4d06183b5ff330dcc

然后删除其他人的修改或者删除自己的修改,删除标识符,当处理完所有冲突后,执行git addgit commit即可。


git rebase的过程中,也许会出现冲突: 在这种情况,Git会停止rebase并会让你去解决冲突;在解决完冲突后,用git add命令去更新这些内容的索引(index), 然后,你无需执行commit,只要执行:

$ git rebase --continue这样git会继续应用(apply)余下的补丁,这里说的补丁是这种情况:

表示把你的本地当前分支里的每个提交(commit)取消掉,并且把它们临时 保存为补丁(patch)(这些补丁放到".git/rebase"目录中),然后把本地当前分支更新为最新的"origin"分支,最后把保存的这些补丁应用到本地当前分支上

$ git rebase --abort在任何时候,你可以用--abort参数来终止rebase的行动,并且当前分支会回到rebase开始前的状态。


如果想更详细的了解Git,推荐廖雪峰的Git教程

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值