git的一些使用

2022-05-22  本文已影响0人  huangweilong

首次提交
git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/xxx/test.git
git push -u origin master

// 冲突解决
情景:在GitHub上创建一个仓库,并添加了readme,在本地新建项目,这时想提交代码。
初始化本地仓库
git init
git config user.name "xxx"
git config user.email "xxx"
git add .
git commit -m
git remote add origin https://github.com/huang-weilong/test.git
git pull origin master --allow-unrelated-histories
然后手动解决冲突文件
git add .
git commit -m
git push origin master

// 以镜像推送的方式上传代码到新的仓库地址
git push --mirror http://...(目标仓库地址)

// 修改git的url
git remote set-url origin url

// 合并上一次的提交,适合小改动
git commit --amend --no-edit

// 修改上一次提交的名字
git commit --amend --author="username <useremail>" --no-edit
git push --force-with-lease origin master

// 删除远程仓库的文件,但不删除本地的
git rm -r --cached .idea/

撤销上一次的commit ,未push的
git reset --soft HEAD~

远程仓库更新了,如何更新本地代码?
git remote -v 查看远程仓库
git fetch origin master:temp 在本地新建一个temp分支,并将远程origin仓库的master分支代码下载到本地temp分支
git diff temp 比较本地代码与刚刚从远程下载的代码的区别
git merge temp 对比区别没问题后进行代码合并
git branch -d temp 如果temp分支不想保留,可以删除

分支
查看分支: git branch
查看所有分支: git branch --all
创建本地分支: git branch dev
发布dev分支: git push origin dev:dev (这样远程仓库也有dev分支了)
在dev分支开发代码:git checkout dev 切换到dev分支
开发完后切回master分支 git checkout master
将dev和master合并: git merge dev
推送更新:git push
删除远程分支: git push origin -d dev
删除本地分支: git branch -d dev

git stash 将所有未提交的修改(工作区和暂存区)保存至堆栈中,用于后续恢复当前工作目录
git stash save 作用等同于git stash,区别是可以加一些注释
git stash list 查看当前stash中的内容
git stash pop
将当前stash中的内容弹出,并应用到当前分支对应的工作目录上。
注:该命令将堆栈中最近保存的内容删除(栈是先进后出)
git stash apply
将堆栈中的内容应用到当前目录,不同于git stash pop,该命令不会将内容从堆栈中删除,也就说该命令能够将堆栈的内容多次应用到工作目录中,适应于多个分支的情况。
堆栈中的内容并没有删除。
可以使用git stash apply + stash名字(如stash@{1})指定恢复哪个stash到当前的工作目录。
git stash clear 清除堆栈中的所有 内容
git stash show 查看堆栈中最新保存的stash和当前目录的差异

git config --global --unset http.proxy 取消代理
git config -l查看配置信息

git remote -v显示所有远程仓库
git remote set-url xxxxx(address) 设置远程仓库地址

git cherry-pick的使用
将master分支开发了新功能(hash1,hash2,hash3),需要将最近几次的commit也给v2分支。
切换到v2分支git checkout v2
使用git cherry-pick hash1,git cherry-pick hash2,git cherry-pick hash3
确认无误后推送到远程分支git push origin v2
如果冲突了,解决完冲突,将修改的文件添加到暂存区git add .
再让cherry-pick继续执行git cherry-pick --continue
如果冲突了,想放弃合并,git cherry-pick --abort,回到操作前的样子

撤销commit 未push
git reset hash

上一篇 下一篇

猜你喜欢

热点阅读