git通过http的方式下载和提交代码
之前一直用git
的SSH
方式下载代码,唯一的缺点可能就是需要建立SSH秘钥,需要额外生成一个密钥,然后在下载和提交代码的时候都需要输入秘钥,才能操作。
时间长了可能就忘了密码,今天在做项目提交的时候就出现了这种情况,密码怎么试都不对,于是弃用了SSH
方式,改用了HTTP
的方式。
1.从远程服务器download代码
首先需要从gitlab
上获取项目所在地址
获取HTTP
地址后,使用git clone
命令,不同的是你需要在IP地址前填上用户名:密码
,然后在加上@
即可,比如你是zhangsan,密码123,那么就应该是zhangsan:123@ip
,这种形式,在后续的所有操作都可以免输入密码。
git clone http://chenqingkun:dynarose2020@192.168.1.96/ubi/package.git
2. 对比服务器和开发环境的代码
执行git clone
之后,需要切换到当前项目文件根目录下,一般是cd xxx
,按tab
会自动提示。
切换到跟文件后,默认当前为master
主干,如果你有权限操作master
,那么你可以直接往master
提交代码,这种不需要提交merge
请求。
如果很多人共同开发一个项目,那么一般你是不会有操作master
的权限,所以你需要创建一个新的分支,并给新的分支命名
git checkout -b "myname"
然后可以将你的workspace
中的代码和刚拉下来的代码进行对比提交。我目前是使用compare
进行对比,将代码同步到分支中,对比之后执行git status
就能看到有哪些文件是存在差异的。红色的问价,表示你修改过的文件。
3. 将代码添加到分支上
执行git add
将修改的代码添加到分支,准确的说这里还不是真正的分支,而是中间的一个缓冲区,只有真正执行git commit
的时候才会真正添加到分支上(我这里是master).
这时再查看一下git status
,红色的文件就没有,会提示你执行commit
操作,提交代码。
4. 提交代码
提交代码的时候,如果规范的话,一般是这种格式
git commit -m "username:操作说明"
比如这种:
git commit -m "chenqingkun:modify bug-001, bug-002, bug-003"
表明用户chenqingkun
提交了一次代码,代码是修改操作,修复了一些BUG。我记得之前的公司如果在jira
上创建了id
为bug-001
的BUG单,那么你提交后,会同步到该jira的任务单下
,即在bug-001
的comment中会有你的提交记录,这样能更好的同步任务状态。
5. 将代码push到主干/分支
之前使用ssh
的时候,直接使用
git push origin master/分支名
而如果使用了http
就不一样了,先查看一下当前的分支
git branch
可以看到就一个master
如果你不是直接操作master
那么需要创建分支的远程配置
git remote add origin test http://192.168.1.96/ubi/electronclient.git
然后再执行下面的命令即可
git push test master:jenkinsapi
如果你是直接往master
上提交的代码,那么你就不需要创建远程配置,直接直接push
操作即可
git push origin master:jenkinsapi
打开gitlab
会发现,确实有新提交的代码
更多推荐
所有评论(0)