使用背景:现在我在公司gitlab上一个项目里,需要将自己写的代码同步到gitlab上(初次配置) 参考:https://mp.weixin.qq.com/s/Bf7uVhGiu47uOELjmC5uXQ
一 下载gitlab上项目
对于初次配置,我们需要下载gitlab上面项目,找一个路径,使用以下命令克隆远程项目
git clone git@git.touch-spring.com:zhengxianyi/GitStudy.git
二 IDEA集成git
上面我们已经下载了远程项目GitStudy,我们在本地上创建了一个Python项目pythonGitStudy,现在我们想在pythonGitStudy目录中开发。我们将GitStudy文件夹中文件复制到pythonGitStudy,这样在pythonGitStudy文件夹中开发时,直接可以管理远程仓库信息
三 Git操作
add
git add 文件名
#或者 add . 添加所有文件
git add .
commit
在pythonGitStudy中新建一个readme.txt文件,此时pycharm会提示是否加入git缓存区,点击是,然后打开命令行使用以下命令进行commit
git commit -m "wrote a readme file"
或者点击:
此时使用以下命令查看状态
git status
push
使用以下命令推送到远程服务器
git push
此时在远程服务器上可以看到刚在创建的readme.txt创建成功
pycharm可以查看每次提交的日志,也可以使用git log
版本回滚
命令:
git reset --hard 版本号
如果在cmd里面使用提示more?的解决方案:https://blog.csdn.net/qq_32623363/article/details/78968077
如何查看版本号:
git reflog
我们在readme.txt进行了两次修改:
版本1 wrote a readme file
# 1
Git is a version control system.
Git is free software.
版本2 append GPL
# 1
Git is a version control system.
Git is free software.
# 2
Git is a distributed version control system.
Git is free software distributed under the GPL.
我们此时在版本2,现在想回退到上一版本[版本1]
git reset --hard 788f70b
此时发现readme.txt内容为[版本1]内容(但是此时内容不知道为啥为空)
撤销修改
情景一
你对readme.txt进行了修改,但还没使用git add
,可以使用以下命令回退
git restore <file>
#或者
git checkout -- <file>
比如添加了:
# 3
Git tracks changes of files.
My stupid boss still prefers SVN.
文件变成了:
Git is free software.
# 2
Git is a distributed version control system.
Git is free software distributed under the GPL.
# 3
Git tracks changes of files.
My stupid boss still prefers SVN.
现在你想回退到未修改前(当然你可以手动删除多添加的部分,但是你修改的代码很多,你不知道修改了哪些部分,可以使用以下命令回退到未修改前):
首先使用git status
查看一下:
使用
git restore readme.txt
情景二
你修改了文件,而且使用了git add
,但没提交(git commit
)
使用git status
命令: