目前主流编辑器,比如pycharm和IEDA,都内置了git的常用操作。对git新手来说,确实友好,也能解决大部分实际需求。但是用多了后,还是会遇到一些小问题,而且不同编辑器内置的功能也不完全相同。本着学透学精,一劳永逸的思路,还是想来啃一啃使用命令行操作git的方式。
新建项目
本地有文件,需要推到远程
本地使用pycharm,新建一个项目,并新建一个名为gitByCLI的Python文件。
print("This is an example.")
为了将该文件上传至远程,首先在远程(本文以gitee托管平台为例),新建仓库。
其次,在终端(terminal)依次配置git环境,添加文件,连接远程地址,将本地文件推到远程
git config --global user.name "LocalorGlobal"
git config --global user.email "*************@163.com"
git init
git add .
git commit -m "first commit"
git remote add origin https://gitee.com/localorglobal/git-by-cli.git
git push -u origin master
远程有文件,希望拉到本地
更新远程文件,增加代码
print("Add a sentence in gitee.")
本地若要同步远程变化,使用
git pull origin master:master1
表示将远程主机 origin 的 master 分支拉取过来,与本地的 master 1分支合并。如果远程分支是与当前分支合并,则冒号后面的部分可以省略(上个实例中,可以省略)。
更新文件
本地有更新,更新到远程
本地新增文件secondExample,尝试更新到远程。
首先使用status命令查看不同
git status
提示:secondExample.py未跟踪,vcs.xml未提交(此例无关)。
其次,使用add命令添加未跟踪文件至暂存区
git add secondExample.py
如果使用
git add .
则是添加所有未跟踪文件
然后,使用commit命令提交文件至版本库中
git commit secondExample.py -m "second commit"
"second commit"为此次提交的注释。需要注意的是,必须使用双引号,如果使用单引号,会报如下的错误
error: pathspec 'commit'' did not match any file(s) known to git
如果想要提交所有的暂存区文件至版本库,可以使用
git commit -m "second commit"
最后,使用push命令将更新提交到远程
git push <远程主机名> <本地分支名>:<远程分支名>
如果本地分支名和远程分支名相同,可以省略冒号
git push origin master
远程有更新,更新到本地
此部分同“远程有文件,希望拉到本地”。