Git新手必备命令整理

1、获取工程到当前路径
git clone ssh://gerrit-server/<工程名>.git

2、查看当前分支
git branch

3、切换分支
git checkout -b develop origin/featureFeb(featureFeb为分支名

4、查看代码状态
git status

5、添加差异代码(按照上一步提示)
git add 文件相对路径

6、修改git到编译器设置为vim
git config --global core.editor vim

7、提交改动到本地
git commit

8、从远程拉最新到代码到本地往服务器提交之前必须执行
git pull --rebase

9、本地解决冲突并运行代码,保证没有功能错误

10、提交改动到远程
git push origin featureFeb (featureFeb为分支名)

11、查整个团队到git日志
git log

12、使用补丁

接手其他同事未提交的工作,由同事现在本地将改动产生的差异打成补丁.patch文件。

拷贝.patch文件到自己工程的根目录下,注意要和同事使用同一个分支。

使用patch之前先pull一下,获取最新的代码
先检查patch文件:git apply --stat filename.patch
检查能否应用成功:git apply --check filename.patch
打补丁:git am --signoff < filename.patch

(使用-s或--signoff选项,可以commit信息中加入Signed-off-by信息)

13、查看本地已有的代码改动

git diff

一些情况的处理

获取远程最新代码不和本地merge,一般在本地删除 并执行git rm之后 使用如下命令找回误删文件

git fetch相当于是从远程获取最新版本到本地,不会自动merge

一般如有文件有冲突是不允许从远程获取代码的(git pull --rebase)

这时候需要吧没处理的文件放到暂存堆栈中 git stash

然后查看暂存堆栈 git stash list

从赞存堆栈顶回复之前到工作文件 git stash pop

解决冲突代码就可以继续操作了

---------------------------------------------------

已经成功提交成功代码 并且review 被merged,之后又有修改想做为一个新的提交,提交前没有pull --rebase ,导致,本地当前版本和服务器上的当前版本 不是一个版本

指针差异会导致pull失败。然后误操作 又cherry-pick回来了 。这样之前提交成功已经merged的操作页被拽回来了。

这种情况,用git reset HEAD^ --hard; 重新定义指针 ,然后提交之前再pull rebase一遍就OK了

------------------------------------------------------

遇到提交后的代码因为某种原因要在发布的版本中撤销之前开发的功能

1、git log 查之之前提交代码的comm ID

2、git revert commit-id 撤销提交 会生成一个反向的差异文件

3、如果之前有多次提交要撤销,记得按倒着的顺序revert,从最近的一次开始

4、最后解决冲突需要重新提交代码 ,因为之前revert多次,会有多个commit,可以用git把他们合并成一个commit 提交一次就可以了

git rebase -i HEAD~X (X是想把之前的多少步操作合并到一起,一个整数。之前看查log确认)

按照提示修改操作标识 按部就班就可以了


5、如果提交报错提示没有change-id,那么可以找回change-id

git commit --amend (这一个修改提交的命令,会调用生成change-id的脚本,之前执行revert 的操作没有调用此脚本所以没有change-id)

-------------------------------------------------------

如果要放弃本地修改后更新:
git reset --hard
git pull --rebase

-------------------------------------------------------

冲突解决

其中Updated upstream 和=====之间的内容就是pull下来的内容,====和stashed changes之间的内容就是本地修改的内容。

碰到这种情况,git也不知道哪行内容是需要的,所以要自行确定需要的内容。

-------------------------------------------------------

使用补丁后,改动代码push失败

git status 查看代码状态,看不到补丁中的更新内容

git log 可以看到同事的commit记录(补丁中的改动)

git commit 提交来自己补丁后的改动

git pull --rebase 获取最新代码 解决冲突

git push 的时候失败了,提示美没有change-id

按照提示为commit信息中添加chang-id 还是push失败

是因为使用的补丁,也算一个commit,里面没有chang-id

需要讲两次commit合并成一个commit

使用命令 git rebase -i 来调整之前的提交 (谨慎操作)可以改变历史commit的顺序,也可以合并两个commit

然后再用 git show HEAD 来看提交的代码改动。

确认无误之后 pull代码,解决冲突,push到服务器。

--------------------

撤销对某个文件的修改(commit之前)

当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- filefullname。

--------------------

成功push代码之后,发现commit的备注错了。

在gerrit上放弃本次提交,本地用git commit -amend修改之后,重新push失败。

放弃之后就不能重新提交了,此时的处理方式:

1、git reset HEAD^ 版本撤回上次提交

2、git status; 查状态 看到上次修改为 change after reset;然后git add -A 全部添加;git commit -m "remark" ,直接带着备注内容提交

3、git pull --rebase; git push ......

------------------------------------------------

1、解决冲突代码,编译通过
2、在当前临时分支 git add .
3、git rebase --continue
4、git pull --rebase
已经提交到gerrit的代码因为存在冲突,无法merge,pull --rebase 最新的代码。
代码中包含冲突,git status处于临时分支。

处理方式:

1、解决冲突代码,编译通过

2、在当前临时分支 git add .

3、git rebase --continue ,执行之后回到原来的分支; 如果回到原来的分支,在continue的时候又遇到了新的冲突,继续重复这些步骤解决

4、git pull --rebase

5、git push origin ………

-----------------------------------

撤销已经提交的commit(未push)

1、git log 查看commit记录,最新的在最上面,要撤销的commit在第1条

2、复制下随后第2调记录的commit-id

3、git reset --hard 刚才复制的commit-id;

执行之后,版本回到一次提交之后的状态,之前的改动全部丢失。

Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值