- 创建新仓库
- 创建一个文件夹,命令行至该文件夹下
git init
- 检出仓库
- 创建一个本地仓库的克隆版本
git clone /path/to/repository
- 如果是远端服务器的仓库
git clone username@host:/path/to/repository
- 如果是github的仓库,在github上复制地址
- 查看远程库信息
git remote -v
- 创建一个本地仓库的克隆版本
- 本地工作流
- 第一是工作目录,保存实际文件;第二是暂存区,临时保存改动;第三是head,指向最后一次提交结果
- 添加与提交
git status
查看改动git add <filename>
或者git add .
(表示全部文件) 可以把改动添加到暂存区git commit -m '代码提交信息'
将改动提交到head
- 推送改动
git push origin master
可以把master换成任何分支- 如果之前没有克隆,想要把仓库连接到远程服务器,可以使用
git remote add origin <server>
- 分支
- master是默认分支。可以在其他分支上进行开发,完成后合并到主分支
git branch
可以查看所有分支git log --graph --pretty=oneline --abbrev-commit
查看分支合并图- 创建一个feature_x分支并切换
git checkout -b feature_x
- 切换回主分支
git checkout master
- 把新建分支删掉
git branch -d feature_x
- 除非把分支推送到远端仓库,否则该分支不可被远端仓库的人看见
git push origin <branch>
- 更新与合并
- 用远端仓库更新本地仓库
git pull
- 合并其他分支到当前分支
git merge <other branch>
- 上面两种方式git都会尝试自动合并,可能会出现conflicts 需要手动解决,改完后需要执行
git add <filename>
标记为合并成功 - 使用如下命令预览差异
git diff <source_branch> <target branch>
- 用远端仓库更新本地仓库
- 替换本地改动
git checkout -- <finename>
使用head最新内容替换掉工作目录文件。已添加到暂存区的改动和新文件不受影响- 丢弃本地所有改动和提交,到服务器获取最新版本历史,并将本地分枝指向他
git fetch origin, git reset --hard origin/master
- 本地版本回退
git log
查看所有提交版本- 回退倒数第n个版本
git reset --hard Head~n
也可以用Head^表示上一个版本 - 也可以用版本号进行回退
git reset --hard <版本号>
- 用
git reflog
查看版本号
参考资料
https://blog.youkuaiyun.com/qq_34964197/article/details/81104419
https://www.runoob.com/manual/git-guide/