目录
配置git
配置用户信息:用户名和邮箱
git config --user.name
git config --user.email
配置完后可以在当前文件夹中看到.gitconfig文件,为隐藏文件。cat ./gitconfig可以查看所有已经配置。
高频操作
拉取代码
拉取指定分支 git clone -b branch_name
git pull --rebase: 如果有冲突会自动解决冲突
git pull:拉取代码。
添加文件
修改完后添加修改的文件
git add filename
git add . 会将当前目录下所有文件添加到暂存区中。
git add -u 更改缓存区文件后,只将缓存区中所有文件添加。
提交当前修改
git commit -m "initial version."
git commit --amend --no-edit 将当前修改追加到上次提交记录中,并且不进行提交message的修改。
临时存储当前修改
git stash: 将当前工作区和暂存区的修改暂时存储在堆栈中。
git stash pop: 将堆栈中缓存的修改 pop到工作区中。
git stash apply: 将堆栈中缓存的修改应用到工作区中, 但堆栈中仍有该条缓存记录。
回退代码
git reset: 暂存区回退。
git reset --hard HEAD^ 工作区和暂存区全部回退到当前提交记录上一条的状态。
git reset --soft HEAD^ 暂存区回退到当前提交记录上一条的状态, 工作区保持不变。
git checkout: 工作区回退
git checkout file : 撤销工作区中该文件的修改。
删除文件
git rm file: 本地删除该文件。
git rm --cached file : 删除远端仓库文件同时保留本地文件
分支操作
git checkout -b branch: 创建并切换到新分支
git branch -a 查看包括本地和远程端的所有分支。
查看状态
git status: 查看当前工作区(working), 暂存区(staging index)和远端仓库(repository)之间的文件状态。
git log: 查看历史提交记录
git whatchanged: 查看每次提交对哪些文件进行了修改。
git show: 查看每次提交中的具体修改
修改patch导出
git format-patch HEAD~1
git apply patchfile 在当前工作区中添加导出的修改patch
patch -p1 patchfile 在当前工作区中添加导出的修改patch
合并提交记录
git rebase -i HEAD~N
-i 表示交互式操作
默认保留最后一条提交message.