配置用户
配置全局用户名和邮箱(可以跳过,也可以对某个仓库指定的不同的用户名和邮箱)
$ git config --global user.name "your name"
$ git config --global user.name "your eamil@email.com"
上传本地项目
git init
添加远程仓库地址源,将你的本地仓库连接到远程仓库
git remote add origin [url]
git push -u origin master
克隆项目
将远程项目拉取到本地
git clone 项目地址
分支管理
查看本地分支,查看所有分支
git branch
git branch -a
新建一个分支,切换到新分支
git branch branchName
git checkout branchName
或
git checkout -b branchName
删除本地分支
git branch -D branchName
删除远程分支
git branch -r -d origin/branchName
git push origin :branchName
更新远程分支列表
git fetch
清理分支列表中已删除的分支
git fetch origin --prune
拉取远程分支到本地并与远程的分支建立映射关系
git checkout -b 本地分支名 origin/远程分支名
版本管理
提交修改到暂存区
提交修改到工作区
提交修改到远程仓库
git add -A
git commit -a -m "description"
git push origin branchName
查看前三个 commit 的版本
git log -3
回滚到指定的版本,此版本之后的所有版本被保留,文件内容保留,回滚 commit 和 index 信息,相当于回到了没有 add
和 commit
的状态
git reset 9cac9ba76574da2167
或
git reset --mixed 9cac9ba76574da2167
回滚到指定的版本,此版本之后的所有版本被保留,并且文件内容保留,回滚 commit 信息
git reset --soft 9cac9ba76574da2167
回滚到指定的版本,但是此版本之后的所有版本都会被删除,慎用
git reset --hard 9cac9ba76574da2167
源管理
更换项目对应的远程仓库的源
查看源
git remote -v
移除本来的源
git remote remove origin [url]
添加新的源
git remote add origin [url]
子模块
添加子模块,完成后会新增一个默认隐藏的配置文件 .gitmodules ,和一个外部项目的子目录。添加完成后需要将子模块切换到合适的分支。
git submodule add 子项目地址(文件夹名称,可不填)
克隆一个带子模块的项目,主目录下包含子项目的目录,空目录:
在主项目目录下
git submodule init
git submodule update