Pages

Saturday, 25 January 2020

怎样把一个新项目/本地项目提交到github?

Github项目必须文件
.gitignore:忽略文件,设置哪些目录/文件不需要上传(怎么设置百度一下)。严格来说,这并不是必须的,但基本上应该不会有人不添加这个文件。
README.md:说明文档,在文件中对本项目进行说明,比如这个项目是干嘛用的,怎么使用等等。严格来说,这个文件也不是必须的,但基本上不会有人不添加这个文件,因为它会在github上显示。
LICENSE:版权文件,不会写可以去github的项目中随便找一个就行,一般用MIT就行。其实这个文件也不是必须的,可以不创建这个文件,但最好有!
以上三个文件,虽说不是绝对必须的,但基本上没有人会不添加,LICENSE文件可能有人会不加,但.gitignore跟README.md是绝对会加的。

在github创建一个新仓库


初始化git
在要提交的项目目录下,执行以下命令:
git init
我要提交的是RedisWebManager文件夹,则要进入该目录中再执行git init


执行以下命令,把所有文件都添加到git中,与正则类似,英文句点是代表所有字符的意思,在这里就代表所有文件,当然会自动排除.gitignore文件中设置为忽略的文件:
git add .

如果只添加少数文件(一个或几个文件),除了可以用上述的git add .,还可以直接指定要添加哪些文件(空格格开即可,有哪些文件可添加可以用git status查看,红色的就表示可添加),如:

git add 文件1 文件2

添加错了,撤消所有:
git reset HEAD

撤消指定的一个或多个(其中的file1,file2是用git status查看的路径):
git reset HEAD file1 file2

添加除了某几个文件外的所有已修改文件:

# 先添加所有
git add -u
# 然后用git status找到你要取消添加的,比如我要取消添加的是“static/js/dashboard.js”,则用以下命令就可以取消它的添加
git reset -- static/js/dashboard.js

执行以下命令提交(注意这里不是提交到github),-a表示提交前面添加的所有文件,-m后面指定的是注释。

git commit -a -m "first commit of RedisWebManager"

如果要提交少数文件(一个或几个,空格隔开即可),可用-i来指定:

git commit -i 文件1 文件2 文件3 文件n -m "first commit of RedisWebManager"

上传到github
先用以下命令设置要推送到哪个远程仓库,最后一个是github仓库地址,注意换成你自己的地址

git remote add origin https://github.com/xyz/RedisWebManager

然后推送到github:

git push -u origin master

打标签,-m指定的是注释

git tag -a v0.1 -m "v0.1"

推送到github
git push origin v0.1

从github中删除tag

#先删除本地
git tag -d v0.1
#再删除github
git push origin :refs/tags/v0.1

强制覆盖本地:
git fetch --all
git reset --hard origin/master
git pull

撤消本地修改,直接覆盖:
git reset --hard
git pull

另一种提交的方法(更简单)
在github创建仓库得到仓库地址后,把仓库clone下来:

git clone https://github.com/xyz/RedisWebManager.git

把你的项目的文件全部复制进去,比如我的项目文件夹名字是“RedisWebManager”,这个文件夹本身就不要复制进去了,因为git clone下来的时候,已经创建了这个文件夹,我们就把“RedisWebManager”文件夹里面的所有文件复制到github clone下来的文件夹(也叫“RedisWebManager”)里面就行。

然后项目必须文件该有的也得有,最后用以下命令添加、提交,最后推送到github(或者自建的gitlab之类的):

# 添加
git add .

# 提交
git commit -a -m "First commit"

# 推送到github
git push