前言:之前做项目git提交用的是图形化工具sourceTree,没用命令行,但是后来还是觉得命令行更强大一些,所以特此记录。
后续可能用的多了还会再更新~
安装完 Git 之后,要做的第一件事就是设置你的用户名和邮件地址。 这一点很重要,因为每一个 Git 提交都会使用这些信息,它们会写入到你的每一次提交中。
$ git config --global user.name "myname"
$ git config --global user.email "[email protected]"
注意:如果用了 --global 选项,那么更改的配置文件就是全局的git环境配置,以后你所有的项目都会默认使用这里配置的用户信息。
依次输入进行查看:
$ git config user.name
$ git config user.email
如果想在某个项目下设置当前项目的git用户信息,那就在这个项目下进行配置(不会影响全局的配置)
输入以下命令
$ git init
回车以后,项目下会出现一个 .git 文件
注意:如果没有 .git 文件的话,看看是否是隐藏了,要把这个勾选上才能显示:
$ git config user.name "myname"
$ git config user.email "[email protected]"
注意: 我是用vscode开发,就在其终端中直接写命令了,用其他开发软件也是一样的。
git add 命令可将该文件添加到暂存区。
添加一个或多个文件到暂存区:
git add [file1] [file2] ...
添加当前目录下的所有文件到暂存区:
git add .
git commit 命令将暂存区内容添加到本地仓库中。
提交暂存区到本地仓库中:
git commit -m [message]
[message] 可以是一些备注信息。
提交暂存区的指定文件到仓库区:
$ git commit [file1] [file2] ... -m [message]
-a 参数设置修改文件后不需要执行 git add 命令,直接来提交。
注意:但也只是对修改和删除文件有效, 新文件还是要 git add,不然就是 untracked 状态
$ git commit -a
看了官方解释,感觉有点复杂(可能是我笨?)直接上总结:
git reset HEAD
我们通过以下命令
git add .
git commit -m "我的提交"
把代码提交到本地仓库,但是如果我们想撤回此次commit该怎么办?
好说!
git reset --soft HEAD^
执行 git reset --soft HEAD^ 以后会撤销提交,此时代码在暂存区中,也就是已添加未提交状态。
再执行 git reset HEAD 会把代码取消暂存,回到未添加状态。
也就是说:
执行:
git add .
git commit -m "我的提交"
git reset --soft HEAD^
git reset HEAD
执行上述四行代码和什么操作都没做是一样的,代码还是在你的工作区,没有添加到暂存区,也没有提交到本地仓库。
git status 命令用于查看在你上次提交之后是否有对文件进行再次修改。
本地仓库与远程仓库关联起来
添加远程版本库:
git remote add [shortname] [url]
shortname是远程仓库使用的 Git 保存的简写(别名),下面这个命令里我们简写为 origin
显示所有远程仓库:
git remote -v
然后就可以把本地仓库的内容通过git push推送到远程仓库了。
git push 命用于从将本地的分支版本上传到远程并合并。
命令格式如下:
git push <远程主机名> <本地分支名>:<远程分支名>
如果本地分支名与远程分支名相同,则可以省略冒号:
git push <远程主机名> <本地分支名>
例子:
以下命令将本地的 master 分支推送到 origin 主机的 master 分支。
$ git push origin master
相等于:
$ git push origin master:master
git pull 命令用于从远程获取代码并合并本地的版本。
git pull 其实就是 git fetch 和 git merge FETCH_HEAD 的简写。 命令格式如下:
git pull <远程主机名> <远程分支名>:<本地分支名>
实例
更新操作:
$ git pull
$ git pull origin
git pull origin master:brantest
上面命令表示,取回 origin/master 分支,再与本地的 brantest 分支合并。
如果远程分支是与当前分支合并,则冒号后面的部分可以省略。
git pull origin master
git branch
查看远程项目所有分支
git branch -a
git branch [新分支名字]
git switch [分支名字]
或者:
git checkout [分支名字]
git checkout -b [分支名]