查看git配置信息
git --config list
设置用户名称和email地址:(与代码托管服务无关) (命令保存在.gitconfig)
git config --global user.name "namestr" git config --global user.email "emailstr"
获取git仓库
创建一个git仓库
#本地初始化git仓库 #首先创建库文件夹,并在其中执行 git init #远程创建 #远程服务器创建一个远程仓库 git clone <远程仓库地址>
版本库:(.git)配置信息、日志信息、文件版本信息
工作目录(工作区):存放代码(包含.git)
暂存区:.git中的index文件,临时保存修改文件的地方
#通过终端创建ssh-key ssh-keygen -t rsa -C "<邮箱>" #在远端服务器配置密钥向远程仓库添加文件
git add [文件名] git commit -m [文本说明] //1 file changed(一个文件被改动), 2 insertions(+)(插入两行) .create mode 100644 readme.txt
历史版本
//查看当前仓库的状态(比如显示修改但未提交的内容) git status //查看某文件具体修改的内容 git diff [文件名] //版本控制 git log //版本控制减少输出信息 git clone --pretty=oneline
版本回退
//HEAD表示当前版本;HEAD^表示上一个版本;HEAD^^表示上上个版本;HEAD~100表示往上100个版本 git reset --hard HEAD^ //回退到上个版本,则下次修改版本找不到 //回退到某个版本 git reset --hard [版本号]
提交
git push [remotename] [localBranchName] #不安全(原因:会使用本地分支的提交覆盖远端推送分支的提交)也就是说, #如果其他人在相同的分支推送了新的提交,你的这一举动将“删除”他的那些提交! #就算在强制推送之前先 fetch 并且 merge 或 rebase 了也是不安全的, #因为这些操作到推送之间依然存在时间差,别人的提交可能发生在这个时间差之内 git push —force #使用此参数推送,如果远端有其他人推送了新的提交,那么推送将被拒绝 git push —force-with-lease #回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可; git reset –-soft #彻底回退到某个版本,本地的源码也会变为上一个版本的内容,撤销的commit中所包含的更改被冲掉; git reset -–hard分支
git branch
检出分支(checkout):切换分支
git checkout
创建并切换分支
git checkout -b
查看本地/远程分支
#本地 git branch #远程 git branch -a暂存区
#将本地的改动暂存(存储区域未知) git stash #将版本之前到代码保存到暂存区,之后使用git staush存储,此时HEAD指针位于<版本号>的位置 git reset —soft 版本号 #将暂存区代码取出 git stash pop冲突
# rebase git pull origin--rebase # 解冲突(与远端修改出现冲突的情况) # 查看当前冲突的文件 git status # 修改后添加该文件 git add #解决一个提交分支后,下一个 git rebase --continue #放弃解决冲突 git rebase --abort git push —force-with-lease # merge git merge



