1.仓库操作
-
git --version:查看git版本。
-
git init:在当前的路径下初始化仓库(创建.git文件)。
-
git clone SSH地址 自定义项目的名称:将项目克隆到本地。
-
git clone HTTPS地址 自定义项目的名称:将项目克隆到本地。
Git克隆会建立你自己的本地分支 master 和远程分支 origin/master,并且将它们都指向origin上的 master分支。
对config文件中的一些操作:
- git remote add origin SSH项目地址:添加配置,如下
-
git remote rename origin SSH项目地址:修改配置
-
git remote remove origin SSH项目地址:删除配置
-
git config --global user.name 自定义用户名:全局的用户名配置
-
git config --global user.email 自定义的邮箱:全局的邮箱配置
2.文件操作
-
git status:查看当前仓库的状态(信息包含当前指向的分支、有没有修改的文件)。
-
git add 文件名:将此文件添加至暂存区。
-
git add .:添加所在文件下的所有文件。
-
git commit -m 描述信息:将所有暂存区的文件提交到本地仓库。
-
git log --oneline:查看提交的记录,一行就是一条记录,清晰明了。
-
git rm --cached 文件名:将此文件从暂存区移除,恢复到工作区,处于未添加的状态。
误删除:
-
git restore 文件名 :此命令用于我们刚把文件提交到本地仓库,但是在工作区不小心删除了,此命令就可以恢复文件。
-
git revert 要恢复位置的下一次提交版本号 描述信息:此命令用于我们不小心把工作区的文件删除了,然后在工作区恢复此文件到相应的版本号,而且不会丢失已提交的记录,并且不会被git认为是新的文件或修改了的文件。
3.分支操作
注意要在本地创建新的分支必须是已经有了一次提交后才能创建新的分支,切换分支的时候最好保持一个清洁的工作区域(工作区和暂存区)。
假如此时我们在一台电脑上操作,在master分支上创建user分支并切换到user分支,然后在文件中创建d.txt并且添加到暂存区,到这一步停止,因为工作区和暂存区master和user都能检索的到,此时我们切换到master分支,在master上commit提交了d.txt。那么user分支那边就看不到d.txt文件了,反倒是user需要合并master分支。
-
git branch 分支名:创建分支。
-
git branch -v:查看本地所有的分支,以及当前指向的分支。
-
git branch -r:查看远程所有的分支。
-
git branch -a:查看本地和远程的所有分支。
-
git checkout 分支名:切换分支。
-
git checkout -b 分支名:创建新的分支并且切换到新的分支上。
-
git branch -d 分支名:删除分支,但是注意不能删除当前指向的分支。
-
git branch -D 分支名:强制删除分支,但是注意不能删除当前指向的分支。
-
git merge 其他分支名 -m 描述信息:分支合并,在当前的分支上合并其他的分支,如果两个分支之间有同一个文件,就会发生冲突,我们可以利用git status查看冲突的文件,我们需要手动在工作区修改后,然后通过git add 冲突的文件名,git commit -m 描述,进行提交即可。
4.远程操作
-
git push origin:进行远程推送,假设user是当前本地指向的分支,如果在此分支下推送,如果远程仓库没有此user分支,则不行,必须合并到master分支,去master分支推送,哪个本地分支推送的,就推送到哪个远程分支中。
-
git pull origin:进行远程拉取。
-
git push origin 本地分支名:自定义远程分支名:将本地的分支推送到远程仓库。
-
git fetch origin:下载新的远程分支到本地,但我们仍然无法在本地编辑该远程仓库中的分支,有的只是一个你无法移动的远程origin/分支名指针,如果要把该远程分支的内容合并到当前分支,需要如下命令:
-
git merge origin/下载的新的远程分支名 -m 描述信息 :将此远程分支的内容合并到当前分支。
-
git checkout -b 自己定义的本地分支名 origin/下载的新的远程分支名 :如果不想将远程分支合并,可以在远程分支的基础上分化出一个本地新的分支来。
-
git push origin :远程分支名:删除远程分支。