git命令使用总结

远程仓库相关

检出仓库: $ git clone git://github.com/jquery/jquery.git
查看远程仓库:$ git remote -v
添加远程仓库:$ git remote add [name] [url]
删除远程仓库:$ git remote rm [name]
修改远程仓库:$ git remote set-url --push [name] [newUrl]
拉取远程仓库:$ git pull [remoteName] [localBranchName]
推送远程仓库:$ git push [remoteName] [localBranchName]

如果想把本地的分支 test 提交到远程仓库,并作为远程仓库的 master 分支,
或者作为另外一个名叫 test 的分支,如下:
$ git push origin test:master // 提交本地 test 分支作为远程的 master 分支
$ git push origin test:test // 提交本地 test 分支作为远程的 test 分支

分之操作相关

查看本地分支: $ git branch
查看远程分支: $ git branch -r ( 如果还是看不到就先 git fetch origin 先 )
创建本地分支: $ git branch [name] ----注意新分支创建后不会自动切换为当前分支
切换分支: $ git checkout [name]
创建新分支并立即切换到新分支:$ git checkout -b [name]
直接检出远程分支: $ git checkout -b [name] [remoteName] (如:git checkout -b myNewBranch origin/dragon)
删除分支: $ git branch -d [name] ---- -d选项只能删除已经参与了合并的分支,对于有未合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项
合并分支: $ git merge [name] ----将名称为[name]的分支与当前分支合并(解决冲突: https://backlogtool.com/git-tutorial/cn/stepup/stepup2_7.html)
合并最后的2个提交: $ git rebase -i HEAD~2 ---- 数字2按需修改即可(如果需提交到远端$ git push -f origin master 慎用!)
本地分支push到远程: $ git push origin [name]
删除远程分支: $ git push origin :heads/[name] 或 $ git push origin :[name]

版本操作相关

查看版本: $ git tag
创建版本: $ git tag [name]
删除版本: $ git tag -d [name]
查看远程版本: $ git tag -r
创建远程版本(本地版本push到远程):$ git push origin [name]
删除远程版本: $ git push origin :refs/tags/[name]
合并远程仓库的tag到本地: $ git pull origin --tags
上传本地tag到远程仓库: $ git push origin --tags
创建带注释的tag: $ git tag -a [name] -m ‘yourMessage’
切换到版本: $ git checkout -b xxx

文件操作相关

git checkout – # 抛弃工作区修改,恢复file
git checkout # 检出某次提交后的file
git checkout # 切换到某次commit后的file
git add # 将工作文件修改提交到本地暂存区
git add . # 将子目录下所有修改过的工作文件提交暂存区
git rm # 从版本库中删除文件
git rm --cached # 从版本库中删除文件,但不删除文件
git reset # 从暂存区恢复到工作文件
git reset – . # 从暂存区恢复到工作文件
git reset --hard # 恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改
git revert <$id> # 恢复某次提交的状态,恢复动作本身也创建次提交对象
git revert HEAD # 恢复最后一次提交的状态
git stash save # “暂存描述” 暂存已跟踪未提交的文件
git stash apply # 应用刚刚实施的存储
git stash list # 查看实施过的存储记录
git stash apply stash@{x} # 应用实施的第x次存储
git stash show stash@{1} # 查看暂存的文件有哪些
git stash drop stash@{1} # 丢弃暂存内容
git reset HEAD xxx # 取消git add的xxx文件

常用操作

git status #当前代码状态,有哪些改动和未提交的
git status -sb #更直观
git log #查看提交日志
git reflog #查看所有日志,包含当前分之更新的日志
git log #查看某个文件的提交日志
git add xxx #添加要提交的文件
git commit -m ‘xxx’ #提交
git commit --amend -m ‘xxx’ #合并上一次提交(用于反复修改)
git commit -am ‘xxx’ #将add和commit合为一步
git push origin master #将当前分支push到远程master分支
git push origin :hotfixes/BJVEP933 #删除远程仓库的hotfixes/BJVEP933分支
git fetch origin #更新本地版本库
git pull #更新代码
git pull origin master #将远程仓库中的master分支拉取到本地,与当前分支合并
git log --pretty=oneline 文件名 #查看某个文件的提交记录
git show commit #值查看详细提交信息

使用案例

一、查看某个文件提交记录更好的办法:
1.git log filename
可以看到fileName相关的commit记录
2. git log -p filename
可以显示每次提交的diff
3. 只看某次提交中的某个文件变化,可以直接加上fileName
git show c5e69804bbd9725b5dece57f8cbece4a96b9f80b filename

二、撤消commit操作(危险操作,慎用)
1.git log查看git commit的hash值
2.git reset --hard xxxxxx(xxxxxx为要撤消的commit的上一次commit的hash值)

三、将远程分支强制还原到某次提交(更危险操作,慎用)
1.git reset --hard xxxxxx
2.git push --force

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞翔的linux

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值