使用 git config
配置git参数,如下:
git config --global user.name "xxxx" git config --global user.email "<xxx@xxx.com>" git config --global core.editor vim git config --global core.fileMode false git config --global --list |
这里配置的是全局配置,会应用到所有git仓库和操作,这些配置存储在~/.gitconfig文件中,如下:
[user] email = xxx@xxx.com name = xxxx [core] editor = vim fileMode = false |
除了全局配置,还可以针对每个仓库进行具体的配置,转到对应的仓库下,使用 git config
命令即可。
这一步在本地生成用于加密通信的密钥对,生成的公钥可以登记到Git服务器,比如GitHub,这样本地就可以对远程仓库进行操作。加密通信原理可参考 SSL加密通信原理,本地生成密钥的命令如下:
ssh-keygen -t rsa -b 4096 -C "<xxx@xxx.com>" |
这里指定了加密算法是RSA,长度是4096 bits。生成的SSH密钥对位于 ~/.ssh
目录,其中的id_rsa.pub
是公钥,用于提供给Git服务器,id_rsa
是私钥,需妥善保管。
git clone git@github.xxx/xxx [目标文件夹] |
这里目标文件夹可选,如果没有指定则以仓库名创建文件夹。
git add xxxx git commit -m "your commit message" git push origin master |
git stash git stash pop |
git checkout . git reset --hard HEAD |
git clean -df #强制删除本目录下未跟踪的文件和文件夹 |
远程仓库名:origin
远程仓库的各种分支:master, branch1, branch2, ...
git clone 远程仓库后,本地会有远程仓库的完整副本,所以自带程远程仓库的全部分支。并且,git在执行clone后会自动检出master分支,这可以通过git branch -a查看
上面红色的分支是远程仓库中的分支,绿色的是本地分支。本地分支可以和远程分支建立对应关系,以便于将本地分支的修改推送到某一个远程分支。查看本地分支和远程分支的对应关系使用git branch -vv命令,如下:
并不是全部的本地分支都需要和远程分支建立对应关系,例如使用命令git branch 分支名称创建的分支就没有对应的远程分支。如果要检出某个远程分支,则使用命令 git checkout -b 本地分支名称 origin/远程分支名称。当执行git push时,只能push到当前分支的远程分支上,而不能跨分支进行push。忽略参数进行git push时,默认push到当前分支的upstream branch上。
git pull <远程仓库名> <本地分支名>:<远程分支名> |