用git管理代码最常用的两种数据传输协议是http和ssh。一般公司采用的ssh协议。想下载公司代码就必须先创建自己的ssh密钥对,然后把公钥放在公司服务器上,这一步是公司IT技术人员给我弄的。如果需要自己操作这一步,可以自行百度,本文的重点在拉取代码和提交代码。
刚进公司时,打开git bash 配置你的用户名和邮箱等,方便git log的查询管理。(这一步只需要在刚进公司时配置一次)
例 : git config --global user.name xxxxxxxx
git config --global user.email xxxxxxxx@abcd.com**(通常是公司给你创建的内部邮箱)
一.下载公司代码
- 先进入你本地的工作目录,比如在work目录下。
- 一般公司在远程服务器上都会有远程库,打开git bash命令窗口,然后用“git clone 【-b 分支名】<URL地址>” 来克隆指定分支的项目代码。通常分支名一般为master,命令也可缺省 “-b 分支名”, 这时候默认克隆master分支下的项目。
例:git clone git@192.168.0.1:project
命令后面的URL地址是公司项目所在的服务器地址,找同事问,最好记下来,后面想重新下载代码时会用到。
这时候你本地当前目录下就会有一个跟公司远程服务器上一模一样的项目。
自此,下载公司代码这一步就完成了。以后就可以在这个项目里面修改你负责的模块代码。
二. 提交代码
years later,你负责的代码写完后,你需要在项目路径下重新打开git bash
- 用git pull把服务器上代码同步到你本地代码中来(期间可能同事提交过代码,服务器上的代码有变)。
- git status 查看确认你修改的文件有哪些。此处会列出你修改过的文件路径。使用gitk命令打开git GUI可查看你本地修改了未提交的代码以确认修改内容。
- git add 【文件路径】。此处的文件路径直接复制上一步列出来的就行,多个文件路径以空格隔开;也可以add整个目录,甚至直接使用git add添加所有修改文件。这一步是把修改的文件添加到暂存区。
例:git add /dev/driver/src/gpio.c /dev/driver/src/i2c.c - git commit -m “这里写此次修改内容” ,这一步把暂存区的代码提交到本地git库。
例:git commit -m “gpio driver modified” - git push。这一步把本地git库的修改同步到远程库(公司服务器)。
附:若代码push时有冲突,提示merge失败。用文件对比工具解决冲突。
我通常习惯在修改完代码后,重新拉取一份服务器上的新代码,用beyond compare工具对比,把旧代码上的修改复制到新拉取下来的代码上,再用新拉取的代码作为本地工作区git push提交。