编程基础--GIT GITHUB GITLAB的使用

目录

下载地址

文档地址

常用指令

获取帮助

初始化

查看状态

添加版本追踪

提交

log追踪

查看差异 

版本回退

撤销修改

删除文件

远程仓库上的操作

本地库关联远程库

删除本地与远程库的关联

查看本地于远程库的关联

从远程库克隆到本地

获取远程最新代码,解决冲突常用此命令

分支相关

查看所有分支

创建分支

切换分支

创建并切换分支

合并分支

删除分支

冻结分支

查看冻结

恢复冻结

删除冻结

恢复并删除

把提交的修改合并到当前分支

标签

查看所有标签

 给当前分支打标签

 给历史提交(Commit)打tag

 查看tag信息

推送一个本地标签;

推送全部未推送过的本地标签

删除一个本地标签

删除一个本地标签


本文偏向于个人知识备用。

由于之前编程常常单打独斗,且没有大的项目经验,往往是复制文件备份管理版本。这次决心整理git相关知识,让自己也融入团队开发当中。

本文内容来自https://www.bilibili.com/video/BV1VK4y1e7z 和廖雪峰的教程https://www.liaoxuefeng.com/wiki/896043488029600/

如果要学习git直接去廖雪峰老师的教程好了!


下载地址

https://git-scm.com/


文档地址

https://git-scm.com/book/zh/v2

里面含有pdf的下载链接,方便局域网使用,如果你想要系统的学习git,没什么比官网教程更好的选择了。之后的只会记录常用的操作,如果又其他需求,请移步官网文档。

常用指令

获取帮助

git --help

git --help [command]

初始化

git init 

此时会在当前目录的文件夹中创建.git文件

git init <dir_name>

在当前目录下创建一个git文件夹(更加常用)

查看状态

git status

在使用git的过程中我 们经常会用此命令查看编程情况

添加版本追踪

git add <file_name>

对单个文件

git add <file_name1 file_name2 file_name3....>

对多个文件

git commit
git add .

对全部文件

提交

每次有更改就要add commit

git commit

提交全部,同时进入输入差异的地方

git commit -m ‘message’ 

提交,messgea即为输入的信息

git commit -am 'message'

等价于git add + git commmit,但只能对已经被add过的文件使用

log追踪

git log

查看commit历史

git log -p -[\d]

最近几次的地址

查看差异 

git diff <file_name>

版本回退

git reset --hard HEAD^

退回到上一个版本

“上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100”

git reset --hard <版本号>

版本号的获取是从git log 中得到的

git reflog

记录每一次的命令和版本号(版本号的获取)

撤销修改

git checkout --<filename>

丢弃工作区的修改

一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

git reset HEAD <file>

把add但没有commit的文件回复到修改但没有add的时候,再使用CHECKOUT --FILE完全恢复

删除文件

 git rm <file_name>

从版本库中删除,之后commit即可

手动删除文件后,add 和 rm命令可互换

远程仓库上的操作

ssh-keygen -t rsa -C "youremail@example.com"

生成sshkey,在github中的Account Settiing中配置

本地库关联远程库

git remote add origin https://github.com/<gitusername>/<reoname.git>
git branch -M main
git push -u origin main

 通过git push -u 建立关联后,之后直接git push 即可

git push <remote_name> <branch_name>

推送到远程的某一分支

删除本地与远程库的关联

git remote rm <name>

查看本地于远程库的关联

git remote -v

从远程库克隆到本地

git clone https://github.com/<githubusername>/<repo.git>

最后的参数在github的对应项目中可以很方便的看到‘

获取远程最新代码,解决冲突常用此命令

 git pull

如果git pull提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to <branch-name> origin/<branch-name>

分支相关

查看所有分支

git branch

 查看分支 当前分支前面会标一个*号。‘


创建分支

 git branch <branch_name>

切换分支

git checkout <branch_name>
git switch <branch_name>

 switch 是新版的语法,因为checkout在回退文件中也有

创建并切换分支

git checkout -b <branch_name>
git checkout -b <branch_name> <remote_name/branch_name>

 默认clone只到master分支,需要获取远程的其他分支就必须使用上面的下侧的方法 

git switch -c dev

合并分支

git merge <branch_name>

将其他分支合并到当前分支上,若有冲突,才merge后先修改再提交

git merge --no-ff -m "message" <branch_name>

 给合并一个commit

删除分支

git branch -d <branch_name>
git branch -D <branch_name>

强制删除没有被合并过的分支

冻结分支

git stash

把当前工作现场“储藏”起来,并退回到上一次提交,等以后恢复现场后继续编写,常常再改写bug时使用。

查看冻结

git stash list

恢复冻结

git stash apply

删除冻结

git stash drop

恢复并删除

git stash pop

把提交的修改合并到当前分支

git cherry-pick <commit>

常用于bug的修复


标签

查看所有标签

git tag

 给当前分支打标签

git tag <tag_name>

打有说明的标签

git tag -a <tag_name> -m <message> <commit_id>

 给历史提交(Commit)打tag

git tag <tag_name> <commit_id>

 查看tag信息

git show <tag_name>

推送一个本地标签;

git push origin <tagname>

推送全部未推送过的本地标签

git push origin --tags

删除一个本地标签

git tag -d <tagname>

删除一个本地标签

git push origin :refs/tags/<tagname>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值