git commit -am
-a all 将所有之前已经添加到版本控制的文件添加到暂存区
-m "提交信息"
这个命令不会添加新文件(即之前未被 Git 跟踪的文件)到暂存区。如果你有新文件需要提交,你仍然需要先用 git add 命令手动添加它们。
git在本地新建的分支,如果远端没有对应的分支会怎么样?
可能会在本地提交修改、保存文件等,
Git push origin new-branch_name
推送到远端后,远端会新建一个同名的分支,下次别人fetch的时候,就可以获取这个分支的信息
git diff
是一个在 Git 中非常有用的命令,用于显示文件之间的差异或变化。这个命令可以以多种方式使用,具体取决于你想查看什么类型的差异。以下是一些常见的用法:
未暂存的更改:
当你修改了一些文件但还没有将这些更改暂存(即还没有运行 git add)时,git diff 将会显示自上次提交以来对这些文件所做的修改。
暂存的更改:
如果你想查看已暂存更改与最后一次提交的区别,可以使用 git diff --staged 或 git diff --cached。这显示了所有已暂存(但尚未提交)的更改。
不同提交之间的差异:
要查看两次提交之间的差异,可以使用 git diff [first-commit] [second-commit],其中 [first-commit] 和 [second-commit] 是你想比较的两次提交的提交ID。
分支间的差异:
要比较两个分支之间的差异,可以使用 git diff [branch1] [branch2]。
文件间的差异:
如果你想比较同一文件在两个不同提交或分支中的差异,可以使用 git diff [commit1]:[file] [commit2]:[file]。
添加远端仓库
Git remote add gitee ssh@...
本地仓库(本地终端)中添加远端仓库(gitee中新建的仓库),gitee是为远程仓库设置的名字
Git remote -v 查看远程仓库,默认会新建一个origin
如果项目关联了两个仓库,一个是git clone的那个仓库,一个是新建的用来推代码的仓库。
所以git push gitee (master)(指定要推到哪个仓库)
如果需要进一步指定推到仓库的哪个分支?默认是master,但是如果要推到其它分支,指定即可
远端仓库新建分支:按钮方式新建,同步到本地
Git fetch origin
若无响应,在后面加上-v,发现是因为连不上
查看分支
Git branch -r :-r表示只列出远端分支
当执行git fetch、git pull、git push,本地仓库会更新其远端跟踪分支的信息。
如果想看本地分支:git branch
如果本地和远程都要看:-a
Git branch -r 显示:
origin/HEAD -> origin/master
HEAD指向当前工作分支或最近一次提交,当与远程仓库关联时,HEAD指向远程仓库的默认分支,通常origin/master是默认分支
Git rebase(这个命令需要慎用)
将一个分支上的更改重新应用到另一个分支上,将多个提交合并为一个干净的历史线。具体过程是想找到两个分支共同的祖先,取出当前分支(master)至那以后的提交记录,并一一应用于目标分支的最新分支(master)
git rebase master
如果当前在feature分支,git会将feature分支上的多个修改合并到基于master分支的最新提交上
在这个过程中可能需要手动解决冲突,然后可以用git rebase --continue, 或者 --abort取消rebase
git fetch和git pull的区别
从远程仓库更新本地仓库的命令
Git fetch:从远端仓库下载最新历史记录数据,分支和标签,但是不会修改工作目录和当前分支,所有是安全的命令,不会更改本地环境。如果想合并远端的修改,需要执行git merge或者git rebase
Git pull:相当于fetch+merge,可能会改变本地的工作目录和分支
比较谨慎的做法是:先fetch查看变更,然后merge,而不是一步到位
Git fetch后如何查看远端的更新
Git log
Git diff
Git status
git pull gitee syscall和git pull的区别
第一个指定了仓库和分支名称,拉取指定分支,
Git pull需要有一个上游分支,如果没有设置,可能会失败
所以第一个比较保险
Git clone
clone源码树就是需要clone整个仓库
如果只需要最新的完整代码,用--depth 1,浅clone,还可以用-b指定要切换的分支,因为一般git clone的连接是整个仓库,即便在网页上切换了tag,也不起作用
Git status
git status 是 Git 版本控制系统中的一个命令,用于显示当前工作目录和暂存区的状态。当你在使用 Git 管理项目时,git status 命令会提供以下信息:
当前分支:显示你当前所在的分支。
文件状态:显示工作目录中文件的状态,分为几个部分:
未跟踪文件(Untracked files):这些文件在工作目录中(新建的文件),但还没有被 Git 跟踪。
已修改但未暂存的文件(Changes not staged for commit):这些文件已被修改(相比于上次提交),但还没有被暂存(即未执行 git add)。
已暂存的文件(Changes to be committed):这些文件已被修改并暂存(即执行了 git add),准备进行下一次提交。
提示信息:根据当前的仓库状态,git status 可能会给出一些操作建议,比如如何暂存或丢弃更改。