git学习记录

设置用户名和邮箱
git config --global user.name "tom"
git config --global user.email "chenyucheng@embedsky.net"

把当前目录设置成git目录
git init

文件名 readme.txt

git add 文件名
如果git add readme.txt,还没有commit。想回退一个版本
git rm --cached readme.txt

git commit -m "备注"
git commit -m "write a readme.txt"

git commit是一次性提交很多文件,所以你可以add很多文件,在一起提交,比如:
git add file1.txt
git add file2.txt file3.txt
git commit -m "add 3 files"

如果我在一次修改readme.txt文件但是还没有add和commit,我想知道我修改了什么内
容。
git diff readme.txt

如果我们add和commit很多文件我们想知道这些文件的情况
git log
如果嫌弃git log打印的信息太多可以使用
git log --pretty=oneline

如果我们添加的文件都已经commit提交了想回退到上一个版本
git reset --hard HEAD^

git commit --amend 
如果你发现回退错了又想回到不回退之前那个版本
git reset -hard 想回退版本的id号(id号就是用git log查看到的)
但是如果你忘记你回退版本的id号了怎么办,可以用git reflog 来显示你之前提交的
命令。

如果修改了add到暂存区了,在一次修改,然后commit,这样最终提交的只是算第一次
修改的,因为第二次修改的还没有add.

如果你修改文件后还没有add,你现在不想修改了,把修改的东西删除
git checkout -- readme.txt
如果你修改后已经add到暂存区,你可以先回到工作区在删除工作区
git reset HEAD readme.txt
git checkout -- readme.txt

如果你添加一个文件test.txt并且已经commit到版本库了,你rm test.txt
只是删除工作区的。这时候你有两种选择,第一种帮test.txt完全删除:git rm  
test.txt。第二种你不想删除了需要恢复git checkout -- test.txt

克隆一个远程库
git clone git@192.168.1.7:Tom/hello-word.git
cd hello-word
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

推送先有文件夹
cd existing_folder
git init
git remote add origin git@192.168.1.7:Tom/hello-word.git
git add .
git commit -m "Initial commit"
git push -u origin master

git push -u origin master:master //第一个master代表本地仓库分支名称,第二个
分支代表远程仓库分支名字(如果远程仓库没有这个名字,可以随便取)

推送一个现有的git仓库
cd existing_repo
git remote rename origin old-origin
git remote add origin git@192.168.1.7:Tom/hello-word.git
git push -u origin --all
git push -u origin --tags

如果本地仓库推送到远程仓库时出现错误error: failed to push some refs to
git pull --rebase origin master
git push -u origin master

查看远程库信息
git remote -v

删除远程库连接
git remote rm origin

分支管理
(第一种方法)创建并跳转分支
git checkout -b dev(一条指令实现)
两条指令实现
git branch dev
git checkout dev 
(第二种方法)
git switch -c dev (一条指令实现)


查看在哪个分支
git branch

合并指定分支到当前分支
git merge dev

删除分支
git branch -d dev(要在其他分支操作,不能在本分支操作)

如果在分支上修改提交commit,在主分支上也修改提交,这时候git merge dev
合并分支后会提示分支冲突,所以就需要在主分支在一次去提交就能解决冲突。

用带叁数的git log 可以看到分支的合并情况
git log --graph --pretty=oneline --adbrev-commit

git merge dev(这种是用了fast forward模式合并)如果想禁用这种方法还可以
git merge --no-ff dev或者git merge --no-ff -m "注释" dev

把当前的工作现场备份起来,
git stash
等以后恢复现场后继续工作
git stash pop

提示:更新被拒绝,
因为您当前分支的最新提交落后于其对应的远程分支。
提示:再次推送前,先与远程
变更合并(如 ‘git pull …’)。
详见
提示:’git push –help’ 中的 ‘Note about fast-forwards’ 小节。

$git fetch origin    //获取远程更新

$git merge origin/master -m "message" //把更新的内容合并到本地分支

查看之前的提交记录
git log --oneline

修改后还没有add提交可以通过这条命令回退到上一个版本
git reset --hard

回退到上个版本后发现多了很多没有跟踪的文件,可以删掉那个那些文件然后在回退
一个版本git reset --hard

拉取远程仓库更新内容
git fetch
gitk --all

git分支如何改名字

假设分支名称为oldName
想要修改为newName
1、本地分支重命名(还没有推送到远程)
git branch -m oldName newName

2、远程分支重命名(已经推送远程-假设本地分支和远程对应分支名称相同)
a.重命名远程分支对应的本地分支
git branch -m oldName newName
b.删除远程分支
git push --delete origin oldName
c.上传新命名的本地分支
git push origin newName
d.把修改后的本地分支与远程分支关联
git branch --set-upstream-to origin/newName


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值