Git学习

常用命令:

环境配置:

查看git配置信息

git --config list

设置用户名称和email地址:(与代码托管服务无关) (命令保存在.gitconfig)

git config --global user.name "namestr"
git config --global user.email "emailstr"

获取git仓库

创建一个git仓库

#本地初始化git仓库
#首先创建库文件夹,并在其中执行
git init   
#远程创建
#远程服务器创建一个远程仓库
git clone <远程仓库地址>

版本库:(.git)配置信息、日志信息、文件版本信息

工作目录(工作区):存放代码(包含.git)

暂存区:.git中的index文件,临时保存修改文件的地方

#通过终端创建ssh-key
ssh-keygen -t rsa -C "<邮箱>"
#在远端服务器配置密钥

向远程仓库添加文件

git add [文件名]
git commit -m [文本说明]
//1 file changed(一个文件被改动), 2 insertions(+)(插入两行) .create mode 100644 readme.txt

历史版本

//查看当前仓库的状态(比如显示修改但未提交的内容)
git status
//查看某文件具体修改的内容
git diff [文件名]
//版本控制
git log
//版本控制减少输出信息
git clone --pretty=oneline

版本回退

//HEAD表示当前版本;HEAD^表示上一个版本;HEAD^^表示上上个版本;HEAD~100表示往上100个版本
git reset --hard HEAD^
//回退到上个版本,则下次修改版本找不到

//回退到某个版本
git reset --hard [版本号]

提交

git push [remotename] [localBranchName]
#不安全(原因:会使用本地分支的提交覆盖远端推送分支的提交)也就是说,
#如果其他人在相同的分支推送了新的提交,你的这一举动将“删除”他的那些提交!
#就算在强制推送之前先 fetch 并且 merge 或 rebase 了也是不安全的,
#因为这些操作到推送之间依然存在时间差,别人的提交可能发生在这个时间差之内
git push —force 
#使用此参数推送,如果远端有其他人推送了新的提交,那么推送将被拒绝
git push —force-with-lease
#回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可;
git reset –-soft
#彻底回退到某个版本,本地的源码也会变为上一个版本的内容,撤销的commit中所包含的更改被冲掉;
git reset -–hard

分支

git branch <branch-name>

检出分支(checkout):切换分支

git checkout <branch-name>

创建并切换分支

git checkout -b <branch-name>

查看本地/远程分支

#本地
git branch
#远程
git branch -a

暂存区

#将本地的改动暂存(存储区域未知)
git stash
#将版本之前到代码保存到暂存区,之后使用git staush存储,此时HEAD指针位于<版本号>的位置
git reset —soft 版本号
#将暂存区代码取出
git stash pop

冲突

# rebase
git pull origin <branch> --rebase
	# 解冲突(与远端修改出现冲突的情况)
	# 查看当前冲突的文件
	git status
	# 修改后添加该文件
	git add 
	#解决一个提交分支后,下一个
	git rebase --continue
	#放弃解决冲突
	git rebase --abort
git push —force-with-lease
# merge
git merge <branch>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值