1.检出项目到一个文件夹
- git clone URL/git-addr.git
- git config --global credential.helper store --设置缓存账号信息,不用每次都输入密码
2.分支管理
- 查看本地分支:git branch
- 查看远程所有分支:git branch -a
- 创建分支:git branch name
- 切换分支:git checkout name
- 创建+切换分支:git checkout -b name
- 合并某分支到当前分支:git merge name
- 删除分支:git branch -d name
- 查看提交历史:
git log --当前有效日志,详细
git reflog --所有操作日志,包括已经丢弃,只看标题 - 查看一次提交内容:git show commit_id
- 查看状态:git status --包括当前分支,未提交文件等
3.回退
reset到版本号,即此版本号以后的更新被丢弃,命令有3种方式:
- git reset –mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息
- git reset –soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可
- git reset –hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容如果只能添加到本地git缓存区,而没有commit,如下:git add test.txtgit rm test.txt执行过提交,只能用版本回退的方法了
4.提交
- 本地缓存提交:git commit -m “解决2个分支之间的冲突”
- 推送到远程: git push origin master
5.远程同步或更新
Git中从远程的分支获取最新的版本到本地有这样2个命令:
- git fetch:相当于是从远程获取最新版本到本地,不会自动mergeGit fetch origin master
git log -p master origin/master
git merge origin/master
以上命令的含义:首先从远程的origin的master主分支下载最新的版本到origin/master分支上然后比较本地的master分支和origin/master分支的差别最后进行合并 - git pull:相当于是从远程获取最新版本并merge到本地git pull origin master 上述命令其实相当于git
fetch 和 git merge 在实际使用中,git
fetch更安全一些因为在merge前,我们可以查看更新情况,然后再决定是否合并结束
6.标签管理
-
查看标签: git tag
-
打标签: git tag name --在当前提交点打标签
-
打标签: git tag v0.9 f52c633 --在指定提交点打标签
-
删除本地标签: git tag -d v0.1
-
推送标签到远程: git push origin --所有tags
git push origin tag_v1.0 --指定标签 -
已经推送的标签删除: git tag -d v0.9 --先删除本地 git
push origin :refs/tags/v0.9 --远程删除
7.建议开发流程方案:
- 检出项目:git clone URL/git-addr.git
- 切换开发分支:git checkout develop
- 拉最新版本:git pull
- 切到(创建)自己分支:git checkout (-b) my-name
- 将最新开发分支合并到自己分支:git merge develop
- 提交自己分支:git commit-m “xxx” --每完成一个小功能建议都提交一次
- 推到远程:git push --每完成一个任务单推送一次
- 到线上merge自己分支的提交到develop分支
- 重复2~8过程