git和github使用技巧

git:分布式版本控制工具

github:代码托管网站(已被微软收购)

首先,你需要在github(https://github.com)上注册自己的账号,然后在本地安装git工具,windows,Linux,Mac下的下载地址为:https://git-scm.com/downloads

接下来:例如项目在 d:/program/test.py

进入当前目录:cd d:/program/test.py

 

创建本地用户:
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
初始化
git init
提交文件
git add 文件名
git commit -m “文件说明”
查看状态
git diff
git log
git status

至此,我们完成了如下图所示的第一步

只是将我们工作区本地)的项目上传到了版本库本地

接下来,我们建立和远程库的链接

 

在本地创建密钥
ssh-keygen -t rsa -C "youremail@example.com"
之后会在根目录下的.ssh生成id_rsa和id_rsa.pub两个文件(分别是密钥和公钥)

然后我们将公钥复制到github的SSH and GPG keys里面。https://github.com/settings/keys

备注:GPG keys也可以不填

 

创建远程仓库并关联
git remote add origin git@github.com:ZhanguoChang/learngit.git
如果已经存在,删除后在创建
git remote rm origin
本地上传到远程库
git push -u origin master
如果失败尝试如下操作:

git pull origin master

git push origin master

此时,我们就将版本库本地)的上传到了远程库github

 

1. 本地仓库
git init 初始化一个git仓库
git add <file> 可以反复多次使用
git commit -m <message>
git commit --amend -m [message] 使用一次新的commit,替代上一次提交
git status 查看工作区的状态
git diff 可查看修改内容
git diff filepath filepath路径文件中,工作区与暂存区的比较差异
git diff HEAD filepath 工作区与HEAD ( 当前工作分支)的比较差异
git diff branchName filepath 当前分支的文件与branchName分支的文件的比较差异
git diff commitId filepath 与某一次提交的比较差异

git log 查看提交日志
git log --oneline 以精简模式显示查看提交历史
git log -p <file> 查看指定文件的提交历史
git blame <file> 一列表方式查看指定文件的提交历史

git reset --hard <commit_id> 回退该版本
git reset --hard HEAD^^ 回退前两个版本
git reglog 查看命令历史 可查看回退后 之后的commit_id
git checkout -- <filename> 撤销工作区的修改 如果么有— 会变成切换到另一个分支
git reset HEAD <filename>撤销暂存区的修改到工作区
git rm <filename>删除文件
git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”
2. 远程仓库
git remote add origin <git ssh> 关联一个远程库
git push -u origin master 第一次推送master分支的所有内容
git push origin master 推送最新修改
git clone <git ssh> 克隆一个远程库
git branch 查看分支
git branch -a # 查看所有分支
git branch <name> 创建分支

git checkout <name> 切换分支
git checkout -b -t origin/master <name> 创建+切换
git merge <name> 合并某分支到当前分支
git branch -d <name> 删除分支
*当git无法自动合并分支时 就必须首先解决冲突 再提交 合并完成
git log --graph 查看分支合并图
*当从远程仓库克隆时,实际上Git自动把本地的master和远程的master分支对应起来了,并且 远程仓库的默认名称时origin
git remote -v查看远程信息
git branch --set-upstream-to=origin/<branch> master 建立本地分支和远程分支的连接关系
git checkout -b <branch_name> origin/<branch_name> 再本地创建和远程分支一样的分支
git branch --set-upstream <branch_name> origin/<branch_name> 建立本地分支与远程分支链接
git push origin <branch_name> 推送修改到远程 # 如果只是git push 默认推送所有绑定的分支
git stash 暂存起来,切换后git stash pop出来
git pull <远程主机名> <远程分支名>:<本地分支名> # 拉取远程的分支到本地
git checkout -b /rpa_optimize origin/feat/rpa_optimize # 在本地新建一个远程分支
git push origin local_branch:remote_branch #      c.远程没有remote_branch分支并,本地已经切换到local_branch

 

 

 

本地分支与远程分支关联(本地和远程从未关联过)

git remote add origin 远程仓库名

git push -u origin 本地分支名:本地分支名

删除远程分支

git push origin --delete 远程分支

关联本地分支到远程(已经关联过)

假设仓库中有分支名为 feat/credit_quality的分支

git branch --set-upstream-to origin/feat/credit_quality feat/credit_quality

拉取远程到本地:

Git fetch origin master:master

上面代码的意思是:从远程的origin仓库的master分支下载到本地,并新建一个master分支。

是两个分支是两个不同的版本,具有不同的提交历史

git pull origin master --allow-unrelated-histories

 

 

 

 

 

 

 

 

 
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

UCASer_0

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

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

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

打赏作者

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

抵扣说明:

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

余额充值