DEV Community

shuai991102
shuai991102

Posted on

关于代码拉取修改以及上库操作流程

这里以OpenHarmony开源社区为例:

我推荐大家进行单仓拉取上库
优点就是,拉单仓不影响本地编辑器的代码完整性,并且拉取下来的代码都是最新代码,不用担心代码未更新问题
首先要找一个需要的仓库,fork到自己的个人gitee仓库(称为远端仓库)

Image description
*fork完以后如下图
*

Image description

  • 拉取代码:

Image description
先复制远端仓库的链接
然后在本地打开git bash here

Image description

输入命令
git clone [https://gitee.com/shuaiguo991102/docs.git](复制远端仓库的链接)
默认是master分支上的代码,如果想要指定分支下载(例如OpenHarmony-4.0-Release)
git clone -b OpenHarmony-4.0-Release [https://gitee.com/shuaiguo991102/docs.git](复制远端仓库的链接)

Enter fullscreen mode Exit fullscreen mode

然后就可以在本地修改你所需的文件,修改完以后使用git命令进行上库

Image description

git status
首先查看修改的文件是否正确
git add 文件名(单个添加到暂存区)
git add .  (所有修改的文件都添加到暂存区)
git commit -m "修改描述" -s
git push
Enter fullscreen mode Exit fullscreen mode

接下来我总结一些常用的git命令经常会用到的
1、如果第一次修改已经push到远端仓库,现在发现还有一些修改没有改完
继续在本地修改:

git add 
git commit --amend
(ps:这是在上一次提交的基础上做修改)
git push -f
(-f为强制推送到远端,可以放心用)
Enter fullscreen mode Exit fullscreen mode

2、如果本地修改(工作区)完没有git add 现在想要回退修改:

git checkout -- .
git checkout -- [文件名]
Enter fullscreen mode Exit fullscreen mode

3、如果已经add到暂存区,但是没有commit,现在想要回退:
(这个命令会将暂存区的更改撤销,但保留工作区的更改。)

git reset HEAD
Enter fullscreen mode Exit fullscreen mode

4、如果现在已经,git commit ,但是没有push,现在想要回退,用什么命令

git reset HEAD~1
Enter fullscreen mode Exit fullscreen mode

(这个命令会将 HEAD 指针移回到上一个提交,并将最近的提交更改保留在工作区。)

git reset --hard HEAD~1
Enter fullscreen mode Exit fullscreen mode

(这个命令会将 HEAD 指针移回到上一个提交,并且撤销最近提交的所有更改。请注意,使用 --hard 选项会丢失最近提交的所有更改,这是一个不可逆的操作。)
5、如果你现在已经push到远端仓库了发现你不想要这个提交了,很简单:

Image description
然后在本地上面回退到上一次提交,或者你想要回退的提交版本

git log
git reset --hard [commit_hash]
Enter fullscreen mode Exit fullscreen mode

(需要从历史中完全删除提交,[commit_hash] 是您想要回退到的提交的哈希值。
--hard 选项会撤销所有更改,包括工作区和暂存区的更改。)

Image description
6、如果我commit 后面忘记加-s 已经push的情况下,我想要移除odc检查失败

git commit --amend --signoff
git push -f
Enter fullscreen mode Exit fullscreen mode

Top comments (0)