Git学习笔记-常用命令

时间:2023-02-25 07:45:00

1.前言

参考教程:Git教程-廖雪峰

小结:

看教程很容易理解,但是要灵活运用还需要花时间,毕竟技术注重实践。

2.常用命令

配置:

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

创建本地版本库时,初始化:

$ git init

添加、提交到本地仓库:

$ git add readme.txt
添加所有:
git add .
$ git commit -m "wrote a readme file"

仓库当前的状态:

git status

查看变化:

$ git diff
查看工作区和版本库里面最新版本的区别:
$ git diff HEAD -- readme.txt(文件名)

查看历史记录:

$ git log
一条只显示一行:
$ git log --pretty=oneline

回退:

到上一个版本:
$ git reset --hard HEAD^
上上一个版本:
$ git reset --hard HEAD^^
往上100个版本:
$ git reset --hard HEAD~100
到指定版本:
$ git reset --hard 3628164

丢弃工作区的修改:

--很重要,没有--,就变成了“切换到另一个分支”的命令
$ git checkout -- readme.txt

把暂存区的修改撤销掉(unstage),重新放回工作区:

$ git reset HEAD file

删除文件:

1.文件管理器中删除:
$ rm test.txt
2.从版本库中删除:
$ git rm test.txt

2.1远程仓库

1.创建SSH Key:

$ ssh-keygen -t rsa -C "youremail@example.com"
会在C:\Users\Administrator\.ssh下生成id_rsa(私钥,不能泄露出去)和id_rsa.pub(公钥)

2.github中添加SSH KEY: title和id_rsa.pub(公钥)

已有的本地仓库与远程仓库关联:

$ git remote add origin git@github.com:yourname/learngit.git

把本地库的所有内容推送到远程库上:

$ git push -u origin master
第一次推送master分支时,加上了-u参数
再次提交:
$ git push origin master
推送其他分支:
$ git push origin dev

克隆一个本地库:

$ git clone git@github.com:yourname/gitskills.git

创建dev分支并切换:

-b参数表示创建并切换
$ git checkout -b dev
相当于以下两条命令:
$ git branch dev # 创建
$ git checkout dev # 切换

查看当前分支:

$ git branch

合并:

在master下,合并dev:
$ git merge dev
禁用Fast forward模式:
$ git merge --no-ff -m "merge with no-ff" dev

删除分支:

$ git branch -d dev
强行删除:
$ git branch -D dev

分支合并图:

$ git log --graph --pretty=oneline --abbrev-commit

把当前工作现场“储藏”起来:

$ git stash
查看stash:
$ git stash list
恢复:
git stash pop

pull:

指定本地dev分支与远程origin/dev分支的链接:
$ git branch --set-upstream dev origin/dev
$ git pull

标签:

$ git tag v1.0 # 打在最新提交的commit上
$ git tag v0.9 6224937 # 打在历史提交的commit上
查看所有标签:
$ git tag
查看标签信息:
$ git show v0.9
删除:
$ git tag -d v0.9
推送某个标签到远程:
$ git push origin v1.0
$ git push origin --tags # 所有
删除远程标签:
$ git tag -d v0.9 # 1.先从本地删除
$ git push origin :refs/tags/v0.9 # 2.远程删除

忽略特殊文件:

在目录下创建一个.gitignore文件

忽略模板:https://github.com/github/gitignore

3.常用流程

在github上看到比较好的开源项目想clone过来:

1.在github上fork

2.在本地用命令:$ git clone git@github.com:yourname/gitskills.git克隆到本地

coding:

如果没有创建SSH Key,先创建SSH Key:

ssh-keygen -t rsa -C "youremail@example.com"
会在C:\Users\Administrator\.ssh下生成id_rsa(私钥,不能泄露出去)和id_rsa.pub(公钥)

在coding中“我的账户“-”SSH公钥“中添加公钥。

本地已经有代码的情况下,先初始化(在主文件夹中):

git init

本地仓库与远程仓库关联:

git remote add origin https://git.coding.net/yourname/projectname.git

pull远程仓库到本地,由于两个仓库不同需要这样写

git pull origin master --allow-unrelated-histories

提交本地的文件:

git add .
git commit -m "commet"

push到远程:

git push origin master

参考:

在git bush中如何退出vim编辑器