标签:参考 pru 当前目录 for 分支 nbsp 保存 ever tag
一、git结构
1. 中央仓库
2. 本地仓库
二、常用操作
1. unchecked
2. add,添加到暂存区
3. commit, 从暂存区到本地仓库
4. push,从本地仓库到远程仓库, commit和push的区别
5. gc,打包清理
git生成ssh keys不用每次都输入用户名,必须用ssh clone
个人文件夹下有gitconfig
git clone http:...
git add . 添加当前目录下文件到git
git add . --all 递归添加本目录下所有文件到git
git commit -m "commnet"
git pull 拉取所有分支,对应到相应分支
git branch 显示本地所有的分支
git branch -a 显示本地和远程所有branch
git fetch 拉取所有的分支,只有这样才能显示所有的分支, 比如看不到远程新加的分支,就需要先fetch
git rm --cache */*.iml 删除文件,但是保留本地文件
git status
git tag
git checkout 2.5 切换到tag2.5,因为master分支总是会变化,不稳定
回退代码 reset vs revert
1. revert
a. 已经commit但还未push
git revert HEAD
b. 已经push
git revert HEAD~1
2. reset
git回退已经commit但是还未push的代码
git reset HEAD^ 会退到上个本地版本
git强制回滚已经push的代码, 加上hard
git reset --hard HEAD^ 会退到上个本地版本,此时pull代码,远程分支会有冲入,需要merge,或者强制提交
git reset --hard HEAD~3 会退到上3个版本
git reset --hard 1153f149952a87f6aa8846a71f191c1f54afadef(commit id)
强制回滚后提交
git push origin master --force,把远程强制更新成跟本地一样
3. 区别
git revert是用一次新的commit来回滚之前的commit,向前进
git reset是直接删除指定的commit,向后退
创建分支
git branch develop 添加develop分支
git push origin develop 提交到develop分支,建立本地分支与远程仓库的联系
git checkout develop 切换到develop分支
git pull origin develop 只拉取develop分支,如果在develop分支,就拉取代码;如果在其他分支,就拉取并merge代码
git push origin develop 提交代码到develop分支
合并分支,把develop分支merge到master
git checkout master
git merge develop
删除分支
git branch -d develop
git push origin :develop
删除远程分支
git branch -r 查看
git branch -r -d origin/develop
git push origin :develop
更新远程已经删除,但未同步到本地的分支
git remote prune origin
更新远程分支列表
git remote update origin --prune
新建一个分支,拉取另一个分支的某个版本号之前的代码
git log 查看提交版本记录
git checkout abc
git cherry-pick 12345 把某个提交版本号拉取过来
三、Git vs SVN
1. SVN每个版本只保存了diff
2. Git每个版本保存了整个文件,每个版本相当于一个文件夹
参考:
https://blog.csdn.net/yxlshk/article/details/79944535
标签:参考 pru 当前目录 for 分支 nbsp 保存 ever tag
原文地址:https://www.cnblogs.com/june0816/p/6270238.html