git常用命令
一.首次将代码放到github上步骤
1. 查看分支(本地和远程分支)
git branch -av
2. 删除远程分支
git push --delete origin remote_old_branch
3. 重命名本地分支
git branch -m old_branch new_branch
4. 推送新分支到远程
git push origin new_branch
二.新做一个功能的时候需要新建一个分支, 实现新功能的代码都在该分支上
1.新创建一个分支
git branch 新的分支名字
2.切换到新的分支上
git checkout 新的分支名字
3.上面的两步可以使用一步完成
git checkout -b 新的分支名字 (当分支不存在的时候就会创建)
4.查看有哪些分支
git branch;
5.将当前分支推到完成
git push -u origin 指定的分支
6.切换到主分支并且将其他分支合并到主分支上. 并且将合并过来的代码推到主分支上
git checkout master
git merge 其他分支
git push -u origin master
7.刚到公司,需要将公司现有的代码拷贝下来
git clone git的地址 文件夹
三.重命名远程分支步骤
1. 查看分支(本地和远程分支)
git branch -av
2. 删除远程分支
git push --delete origin remote_old_branch
3. 重命名本地分支
git branch -m old_branch new_branch
4. 推送新分支到远程
git push origin new_branch
四.假如本地已经存在了这个项目,而仓库中又有一新的更新,如何把更的合并到本地的项目中?
1.取得远程更新,这里可以看做是准备要取了
git fetch origin
2.把更新的内容合并到本地分支
git merge origin/master
五.假设本地的代码没有github远程的代码新. 需要先从远程拉下最新的代码
git pull
拉下来的时候需要加上注释,说明远程的代码和本地的代码进行合并
合并之后再将本地的代码推送到远程
git push -u origin goods
六.创建一个新的存储库
#克隆一个远程git仓库
git clone git@xxx:xxx/test.git
#进入本地克隆文件夹
cd test
#生成README.md文件
touch README.md
#提交到本地仓库
git add README.md
#本次提交说明
git commit -m "add README"
#推送(当前分支推送到远程.远程分支不存在则创建)
git push -u origin master
七 .现有的Git存储库
#进入现有项目git
cd existing_repo
#查看远程仓库
git remote -v
#删除远程仓库
git remote rename origin old-origin
#增加远程仓库
git remote add origin git@xxx:xxx/test.git
#删除指定的远程仓库
git remote rm origin
八.git push -u origin main 报错
! [rejected] main -> main (non-fast-forward)
error: 推送一些引用到 'git@xxx:gitlab-instance-7638cf78/test.git' 失败
提示:更新被拒绝,因为您当前分支的最新提交落后于其对应的远程分支。
提示:再次推送前,先与远程变更合并(如 'git pull ...')。详见
提示:'git push --help' 中的 'Note about fast-forwards' 小节。
https://codeleading.com/article/51073047540/
#解决办法: 可以选择强行覆盖,这样就以本地的为准:
git push origin main -f
九. ! [remote rejected] main -> main (pre-receive hook declined)
error: 推送一些引用到 'git@xxx:gitlab-instance-7638cf78/test.git' 失败:
原因:
gitlab主分支main权限问题
解决办法
gitlab仓库->设置->仓库->受保护分支->取消对应分支
十.git 设置
git config --global user.name "xxx"
git config --global user.email "xxx@qq.com"
#生成ssh
ssh-keygen
#增加新的远程仓库
git push -u origin --all
git push -u origin --tags
#查看当前用户(global)配置
git config --global --list
十一.git的常见命令
#建立repository
git init
#查看状态
git status
#查看历史提交
git log
#返回到版本号
git reset 版本号
#回退到某个提交点,一般配合git log 使用:撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交
git reset --hard '版本号'
#撤销到版本号
git revert 版本号
#本地创建并切换分支
git checkout -b branch_name
#删除本地分支
git branch -d/D branch_name
#删除远程分支
git push origin --delete remote_brnach_name
#重命名本地分支
git branch -m oldbranch_name new_branch_name
#更新远程分支
git remote update -p
#查看状态
git status
#查看分支(-a 包括远程分支)
git branch -a
#提交到本地仓库(. 代表所有文件) git add filename
git add .
#本次提交说明
git commit -m '说明内容'
#推送(当前分支推送到远程.远程分支不存在则创建)
git push origin remote_branch_name
#拉取远程分支并合并(当前分支拉去远程分支.远程分支不存在则创建)
git pull origin remote_branch_name
#关联本地和远程分支:
git branch --set-upstream local_branch origin/remote_branch
#合并test-branch到当前分支
git merge --no-ff 本机上的分支(test-branch)
#还原所在文件的修改:
git checkout -- 文件名
#自动创建一个新的本地分支,并与指定的远程分支关联起来
git checkout -b 本地分支名 origin/远程分支名
#-比较不同
git diff 版本一 版本二
十二.fatal: Cannot update paths and switch to branch 'dev2' at the same time
如果出现提示:
fatal: Cannot update paths and switch to branch 'dev2' at the same time. Did you intend to checkout 'origin/dev2' which can not be resolved as commit?
表示拉取不成功,需要先执行
git fetch
然后再执行
git checkout -b 本地分支名 origin/远程分支名