项目代码管理中常用
基本命令操作
1. 克隆仓库
$ git clone 仓库地址
2. 创建初始化仓库
$ cd /var/www/xxx (xxx为仓库所在文件夹)
$ git init (初始化仓库)
如果取消对文件夹的初始化: 把文件夹下的 .git 文件删除就可以
$ rm -rf .git
3.查看改动
$ git status
4. 提交仓库里的改动内容
$ git add . ( . 表示提交所有改动,也可以通过git status的结果逐条add)
$ git commit -m "[project_name]: 对改动的描述"
$ git status 再次查看提交的状态
5. 拉取&推送仓库内容
- 拉取远程仓库最新内容
$ git pull origin develop (拉取远程develop分支,origin develop可省略,该方法会自动合并分支)
$ git pull --rebase origin develop (常用写法,最好带上--rebase,该方法不会自动合并分支)
$ git fetch origin develop (比较分支差别,不会自动合并)
- 将改动推送至远程仓库
$ git push origin features/xxx (features/xxx为自己建的远程分支,而后在提交PR时,合并进develop分支)
$ git push (默认推送到develop分支)
$ git push origin develop -f (强制推送至develop分支)
6. 查看版本历史
$ git log
$ git reflog
7. 版本回退
$ git revert (版本回退)
$ git reset (版本回滚,丢弃掉跳过的版本,git log已经看不到,git reflog还是可以看到的)
- soft (只将其他的commit重置到HEAD,index和working copy中的文件都不改变)
$ git reset –soft HEAD^
- hard
$ git reset –hard HEAD^
$ git reset –soft/–hard HEAD~n (n=1,2,3,…)
8. 分支管理
$ git branch (查看所有分支)
$ git checkout -b 新分支名称 (创建并切换至新分支)
$ git checkout 已存在分支名称 (切换已有分支)
$ git branch -M 旧分支名称 新分支名称 (重命名已存在分支)
$ git branch -D 已存在分支名称 (删除分支)
$ git push --delete origin 旧分支名称 (删除远程分支)
$ git push origin 新分支名称 (上传新修改名称的本地分支)
$ git branch --set-upstream-to origin/新分支名称 (修改后的本地分支关联远程分支)
9. 暂存管理
$ git stash (暂存当前未commit的改动)
$ git stash save “注释”(保存当前未commit的代码并注释)
$ git stash (应用最近一次的暂存,随后删除该记录)
$ git stash list (查看暂存列表)
$ git stash apply stash@{n=0,1,2,...} (应用某个暂存,不会删除暂存列表)
$ git stash pop stash@{n=0,1,2,...} (应用某个暂存,且从暂存列表中移除)
$ git stash drop stash@{n=0,1,2,...} (删除某个暂存)
$ git stash clear (清空暂存)