git reset --hard HEAD^ 和 git reset HEAD^ 的区别
即有没有--hard 有什么区别?
两个命令的功能都是回滚 commit 过,但是还没有 push 的文件
git 参数 | 命令执行后 |
---|---|
有--hard | 文件是最新状态 |
没有--hard | 文件是修改未 commit 的状态,即修改内容不会丢失 |
git 的其他命令
1,把修改的文件回滚到修改之前:
前提:该文件不是新增文件,并且没有提交(commit)
git checkout -- test.sh
git checkout -- readme.txt
回滚多个文件:
git checkout HEAD -- prod.sh src/main/java/com/chanjet/gov/controller/LogViewController.java
2,查看提交记录
git log --pretty=oneline
3,回滚 commit 过的文件
前提:commit 过,但是没有 push
git checkout -- test.sh 命令没用
git reset --hard 0248d8341472ab9d80d4e43ce89876f502fc975c
或者
git reset --hard HEAD^
4,创建本地分支
git checkout -b dev3333
5,把本地分支提交到新的远程分支
git -c core.quotepath=false push --progress --porcelain origin refs/heads/dev3333:dev3333333_remote --set-upstream
简化版本:
git push origin refs/heads/dev3333:dev3333333_remote --set-upstream
6,删除远程分支
git push origin --delete dev3333333_remote
7,拉去最新信息
git fetch origin --progress --prune
8,删除远程分支之后,如何删除本地分支和远程分支的关联关系?
git branch --unset-upstream
9,删除本地分支
git branch -d dev3333
w ~/code/mygit/back/chanjet_web_store prod_unitPrice_05_18 git branch -d prod_unitPrice_0518
error: The branch 'prod_unitPrice_0518' is not fully merged.
If you are sure you want to delete it, run 'git branch -D prod_unitPrice_0518'.
从某次提交拉出分支,
git 从某次提交创建分支
git checkout -b prod_12_7 c9b5ad1cc43b0cbf230a7a1d6054dfdc8c0c5c88
Switched to a new branch 'prod_12_7'
修改远程服务器地址
修改 remote url:
tv_mobile git:(master) git remote -v
origin https://github.com/whuanghkl/tv_mobile.git (fetch)
origin https://github.com/whuanghkl/tv_mobile.git (push)
git remote set-url origin http://git.yhskyc.com/root/tv_mobile.git
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于