git (项目提交)

# 常用命令 >w https://gitee.com/ [url](https://gitee.com) 上传项目 微信 >w https://github.com/ [url](https://github.com) 开源项目 ``` git status -s git add . git commit -m "注释" git pull :q! 不保存 git push ``` git clone 我们使用 git clone 从现有 Git 仓库中拷贝项目(类似 svn checkout) git status 以查看在你上次提交之后是否有修改。我演示该命令的时候加了 -s 参数,以获得简短的结果输出 "AM" 状态的意思是,这个文件在我们将它添加到缓存之后又有改动。改动后我们再执行 git add 命令将其添加到缓存中: git add 当对工作区修改(或新增)的文件执行 "git add" 命令时,暂存区的目录树被更新 git add -A 提交所有变化 git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new) git add . 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件 git commit 而执行 git commit 将缓存区内容添加到仓库中。 $ git commit -m '第一次版本提交' --------- --------- 用 -m 选项以在命令行中提供提交注释。 git commit -a --------- 如果你觉得 git add 提交缓存的流程太过繁琐,Git 也允许你用 -a 选项跳过这一步 git commit -am '修改 hello.php 文件' --------- --------- --------- [master 71ee2cb] 修改 hello.php 文件 1 file changed, 1 insertion(+) $ git reset HEAD hello.php --------- -------- git reset HEAD 命令用于取消已缓存的内容。 git rm -f <file> 只是简单地从工作目录中手工删除文件 如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f 如果把文件从暂存区域移除,但仍然希望保留在当前工作目录中 --cached git rm –r * 进入某个目录中,执行此语句,会删除该目录下的所有文件和子目录。 $ git mv README README.md 对其重命名: mv git push:是将本地库中的最新信息发送给远程库; git pull:是从远程获取最新版本到本地,并自动merge; git fetch:是从远程获取最新版本到本地,不会自动merge; git merge:是用于从指定的commit(s)合并到当前分支,用来合并两个分支; "working directory clean:干净的工作目录"。 :q! 不保存 A: 你本地新增的文件(服务器上没有). C: 文件的一个新拷贝 . D: 你本地删除的文件(服务器上还在) . M: 文件的内容或者mode被修改了 . R: 文件名被修改了。 T: 文件的类型被修改了。 U: 文件没有被合并(你需要完成合并才能进行提交)。 X: 未知状态(很可能是遇到git的bug了,你可以向git提交bug report)。 # .gitignore ![image.png](https://cos.easydoc.net/48081513/files/khmtyw50.png) ## .gitignore规则不生效 先push 在添加.gitignore 规则不生效 .gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。 解决方法就是先把本地缓存删除(改变成未track状态),然后再提交: git rm -r --cached . git add . git commit -m 'update .gitignore'