上图为git分布式管理的原理图(非原创)。
1. git init - 初始化一个新的Git仓库,或将现有的项目转换为Git可管理的仓库。
2. git status - 查看当前工作区与暂存区的状态,可以看到哪些文件被修改了但还没被提交。
3. git add . - 添加当前目录下的所有文件到暂存区。
4. git commit -m "注释" - 将加入暂存区的文件提交到本地仓库。正确的操作流程确实通常会在commit之后再次执行`git status`以确认目前没有未提交的改动。
5. 在GitHub中建立新仓库后,使用以下命令来配置用户信息(这步通常在全局配置一次即可): ```sh git config --global user.name "Your Name" git config --global user.email "your.email@example.com" ```;
6. 将本地仓库与远程仓库关联(增加远程仓库) ```git remote add origin <repository URL> ;可增加多个仓库,git remote add origin2 <repository URL2>; git push origin(远程仓库名) main:master; main(本地分支); master(远程仓库的分支)。填写不同的仓库名和分支名称,会push到不同的目的地。
7. git remote -v - 查看远程仓库的URL;git branch -r 查看远程仓库的数量和分支;
8. 分支管理: git branch:查看所有分支。 `git branch <branchname>`:创建新分支。 `git checkout <branchname>`:切换到指定分支。 `git checkout -b <branchname>`:创建新分支并切换到该分支。
9. 推送本地分支到远程仓库: ```git push -u origin <localbranch>:<remotebranch> ``` 如果要把本地的`xyz`分支推送到远程的`abc`分支,您可以这么做: ```git push -u origin xyz:abc ```
10. git ls-tree --name-only <branchname> - 列出指定分支的文件和目录。 撤销和对比操作的一些小补充:
11. git reset --hard HEAD^: - 把HEAD指向上一个commit,并且撤销之后的所有更改。
12. git reset --hard <commit-id>:会将HEAD指向指定的commit-id,并撤销后续的所有改动。
13. git diff`和`git diff --staged:`git diff`:显示工作区与暂存区的差异。 git diff --staged(或`--cached`):显示暂存区与最后一次提交的差异。
14. 打补丁(patching): git apply <patchfile>:应用补丁。 git format-patch -1 <commit-id>`:以邮件格式导出指定的commit为补丁。
---------------------------