一、安装
1 | yum install -y git |
二、配置用户信息及颜色高亮【本地仓库可选】
1 | git config --global user.name "Your Name" |
三、创建仓库repository【建议全英文路径】
1 | mkdir learngit |
四、常用命令
- 版本库/仓库初始化:
git init(先cd到目录下) - 把文件添加到仓库:
git add readme.txt - 完成提交:
git commit -m "add readme.txt" - 查看仓库当前状态:
git status - 对比文件前后修改:
git diff readme.txt
五、版本切换
- 查看提交历史:
git log 或 git log --pretty=oneline --abbrev-commit - 退回上个版本:
git reset --hard HEAD^ - 退回上上个版本:
git reset --hard HEAD^^ - 退回指定ID对应的版本:
git reset --hard commit_id - 查看命令历史:
git reflog - 查看工作区和最终版本库(最新版)里的区别:
git diff HEAD -- readme.txt
六、工作区(Working directory)、暂存区(stage)、版本库(repository)的后悔药
- 版本库回撤(已git commit):
git reset --hard commit_id - 暂存区回撤(已git add):
git reset HEAD filename - 工作区回撤(已修改,未git add过):
git checkout -- filename(实际是用版本库里的版本替换工作区的版本) - 删除文件:
git rm filename(到暂存区),git commit后到repo生效
七、远程仓库操作(Github为例)
- 生成ssh密钥:用户主目录下输入
ssh-keygen -t rsa -C "[email protected]" - .ssh目录下可看到id_rsa(私钥)、id_rsa.pub(公钥)
- Github上增加ssh key,填入上述公钥内容
- 新建Github仓库,名称learngit
- 关联远程仓库:
git remote add origin [email protected]:satorioh/learngit.git - 第一次推送本地仓库到远程,并关联同步:
git push -u origin master(后续不用加参数u) - 克隆远程仓库:
git clone [email protected]:satorioh/gitskills.git - 查看远程库信息:
git remote -v - 本地创建和远程分支对应的分支(名称最好一致):
git checkout -b branch-name origin/branch-name - 建立本地分支与远程分支的关联:
git branch --set-upstream origin/branch-name branch-name - 抓取远程分支:
git pull
八、分支管理
- 创建分支:
git branch dev - 切换分支:
git checkout dev - 查看当前分支:
git branch - 合并分支:
git merge dev(ff模式)、git merge --no-ff -m "" dev(no ff普通模式) - 删除分支:
git branch -d dev - 冷冻当前工作区内容:
git stash - 查看冷冻的内容:
git stash list - 解冻内容:
git stash apply stash@{0}(不丢弃stash),git stash pop(同时丢弃stash) - 删除未合并的分支:
git branch -D <name>
九、标签管理
- 新建标签:
git tag v1.0(默认为HEAD) - 查看所有标签:
git tag - 查看某个标签的详细内容:
git show v1.0 - 推送一个本地标签:
git push origin <tagname> - 推送全部未推送过的本地标签:
git push origin --tags
十、Git配置文件
- 仓库的Git配置文件:.git/config(ls -al查看)文件
- 当前用户的Git配置文件:用户主目录的.gitconfig文件中
参考文献