一些git命令使用技巧和常遇到的问题的解决方法

一些git命令使用技巧和常遇到的问题的解决方法

1. 只有.git目录如何取代码

运行
git reset --hard
即可。
运行后,会看到出现所有需要的目录了。

2. Git am 合并 patch 时的冲突处理

(1)$ git am xxx路径/0001-BUG-Sybase.patch
Applying: CHG: 读取Sybase如果时间为空,设置默认时间的修改
error: patch failed: source.php:38
error: source.php: patch does not apply
Patch failed at 0001.
When you have resolved this problem run “git am --resolved”.
If you would prefer to skip this patch, instead run “git am --skip”.
To restore the original branch and stop patching run “git am --abort”.

(2)$ git apply --reject xxx路径/0001-BUG-Sybase.patch

(3)Checking patch source.php…
error: while searching for:
// 注释
// 以下为几行代码片断
error: patch failed: source.php:38
Applying patch source.php with 1 rejects…
Rejected hunk #1.
这样,就把没有冲突的文件先合并了,剩下有冲突的作了标记。

(4)git status .
可以看到不冲突的文件已经修改。
冲突的文件的不冲突部分已经修改。

生成一个冲突文件的XXX文件名.rej 的文件
打开此文件,你要的内容拷贝回原来文件你要修改的位置并保存。
删除XXX文件名.rej 的文件

(5)git add 所有需要修改的文件。包括冲突的文件。

(6)最后 $ git am --resolved 即可。

3. 第一次创建新的git,拉下来仓库,需要第一次提交代码时需要注意

注意第一次上传新代码时使用git add -f .来上传,即加入-f,否则.gitignore文件的内容会把它忽略掉了,导致原生版本没有上传全。

需要需要删除大量同名的某些目录或者文件,可以使用下面方法
find -name XXX | xargs rm -rf
XXX就是特定的目录名或者文件名,例如有很多子目录有.gitignore文件,你想删除,可以
find -name .gitignore | xargs rm -rf

4.只有.repo文件夹,如何恢复源代码

repo sync -l

-l即local本地分支恢复。
repo sync会从远程服务器同步。
repo sync -l从本地.repo文件夹恢复。

另外我的相关培训视频请看:
欢迎观看我发布的各个课程: https://edu.51cto.com/lecturer/8896847.html https://blog.csdn.net/gaoneil

另外我的免费的linux各种驱动开发课程如下:
https://edu.51cto.com/course/17138.html

猜你喜欢

转载自blog.csdn.net/gaoneil/article/details/88570287