当前位置 博文首页 > XSES_yasuoman的博客:git基础操作总结,git推送本地分支到远程
git --version # 查看版本信息
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
"""
再次强调,如果使用了--global选项,那么该命令只需要运行一次,因为之后无论你在该系统上做任何事情, Git 都会使用那些信息。 当你想针对特定项目使用不同的用户名称与邮件地址时,可以在那个项目目录下运行没有--global选项的命令来配置。
"""
git config --list # 查看配置
git config user.name
git config user.email
git init # 仓库初始化
git add <file> # 往库中添加文件
git status # 查看仓库状态
git rm --cached <file>... # 移除git add向缓存中添加的文件
git commit -m ”commit xxx“ # 提交到Git 仓库 -m 代表提交信息
git commit -a -m “massage” # 加的 -a 参数可以将所有已跟踪文件中的执行修改或删除操作的文件都提交到本地仓库,即使它们没有经过 git add 添加到缓存区,注意,新加的文件(即没有被 git 系统管理的文件)是不能被提交到本地仓库的。建议一般不要使用 -a 参数,正常的提交还是使用 git add 先将要改动的文件添加到暂存区,再用 git commit 提交到本地版本库。
git commit --amend # 追加提交,它可以在不增加一个新的commit-id的情况下将新修改的代码追加到前一次的commit-id中
git log # 打印 Git仓库提交日志、显示作者 时间 提交信息
commit后才会有分支
git branch # 查看分支
git branch xxx # 创建一个xxx分支
git branch -d xxx # 删除分支
git branch -r # 查看远程分支
git branch -a # 查看所有分支
git branch -vv # 查看分支联系
git branch -u origin/serverfix #关联远程分支
git branch --set-upstream-to origin/远程分支名 #关联远程分支
git checkout xxx # 切换至xxx分支/标签
git checkout -b xxx # 建立分支后自动切换到该分支
git branch -D xxx # 强制删除 xxx 分支
git merge xxx # 合并分支
# 首先需要切换到 master 分支
# 执行 git merge xxx , xxx 分支的代码合并到 master 分支
https://github.com/CatOneTwo/GitHub-Tutorial/issues/4
git clone URL # clone 库
git push origin master # 把本地代码推到远程 master 分支
git pull origin master # 把远程最新的代码更新到本地
git pull <远程主机名> <远程分支名>:<本地分支名> # 把远程最新的代码更新到本地
git push <远程主机名> <本地分支名>:<远程分支名> # 远程分支无的时候可以直接创建远程分支
git remote add origin URL # 本地库连接远程库
git remote -v # 查看远程库连接情况
git push <远程主机名> <本地分支名>:<远程分支名> # 远程分支无的时候可以直接创建远程分支
git branch --set-upstream-to origin/远程分支名 # 关联远程分支
git branch -u origin/serverfix #关联远程分支
git remote rm origin // 移除本地关联
git remote add origin git@github.com/example.git // 添加线上仓库
git push -u origin master // 注意:更改后,第一次上传需要指定 origin
预览将要删除的文件
git rm -r -n --cached 文件/文件夹名称
加上 -n 这个参数,执行命令时,是不会删除任何文件,而是展示此命令要删除的文件列表预览。
确定无误后删除文件
git rm -r --cached 文件/文件夹名称
提交到本地并推送到远程服务器
git commit -m "提交说明"
git push origin master
修改本地 .gitignore 文件 并提交
git commit -m "提交说明"
git push origin master
git push --delete origin xxxx
git push origin :xxx # 注意是冒号前面,省略 [本地分支],“在这提取空白→把它变成[远程分支]”
GitHub上创建仓库(创建了README.md,且有一固定名字分支情况下,设default分支名字是"main")
本地git init
本地 git remote add origin URL
本地 git pull <远程主机名"origin"> <远程分支名"main">:<本地分支名"master">
# 把远程最新的代码更新到本地
本地 git branch --set-upstream-to origin/<远程分支名"main">
# 关联远程分支
* master fa87883 [origin/main: ahead 1, behind 1] test
出现类似如上信息,则说明关联成功,master
为本地分支名,main
为远程分支名,test
为commit提交信息
如果push时,严格使用git push <远程主机名> <本地分支名>:<远程分支名>,则不需要第5步关联远程分支了!
本地 git add .
本地 git commit -m "xxx"
本地 git push <远程主机名> <本地分支名"master">:<远程分支名"main">
如果在第3步后 没有先 进行git pull <远程主机名> <远程分支名>:<本地分支名>
合并远程分支到本地(同时使得两个分支初始历史记录一致) ,而是先进行了git add .
操作的话
(由于远程分支和本地分支是两个独立的分支,本地先 git add .
导致本地历史先出现了更改操作,本地分支与远程分支历史不同步,后续操作会出现错误,如下表)
操作 | 错误 |
---|---|
git pull <远程主机名> <远程分支名>:<本地分支名> | fatal: refusing to merge unrelated histories |
git push <远程主机名> <本地分支名>:<远程分支名> | failed to push some refs to git |
这种情况可以使用 在操作后+--allow-unrelated-histories
的方法来忽略两个分支历史联系,例如:
git pull <远程主机名> <远程分支名>:<本地分支名> --allow-unrelated-histories
git push <远程主机名> <本地分支名>:<远程分支名> --allow-unrelated-histories
GitHub上创建仓库,你不想推送至main分支,而是一个新的分支"new"
本地git init
本地 git remote add origin URL
本地 git add .
本地 git commit -m "xxx"
本地 git push <远程主机名"origin"> <本地分支名"master">:<远程分支名"new">
上面提到过,该命令可以直接创建远程分支。
* [new branch] master -> new
? 出现上述,说明创建成功,new
为远程分支名
直接push即可,无需关心git add .
命令是否会破坏历史记录,既然远程仓库还没有分支,何来破坏可言,push时输入想要创建的分支名字,会直接同步历史创建该分支。