git笔记

Git与Svn

git 分布式版本控制系统
	没有中央服务器,每个人电脑就是一个完整的版本库,工作的时候不需要联网,因为版本都在自己的电脑上.协同方法是:比如自己的电脑上修改了文件a,其他人在电脑上也修改了a,这时,你们两个之间的只需要把各自的修改推送给对方,就可以互相看到对方的修改.git可以直接看到更新的代码和文件.

svn集中式版本控制系统
	版本库放在中央服务器,工作时用自己的电脑,从中央服务器得到最新版本,然后工作,完成工作后,需要把做完的工作推送到中央服务器.集中版本控制系统是必须联网才能工作,对网络带宽要求较高.

下载:

	https://git-scm.com

淘宝镜像下载地址

	https://npm.tabbao.org/mittors/git-for-windows/

卸载:

	删除环境变量git 控制面板卸载

安装:

	下一步下一步

安装完毕可以使用

	GitBash 风格和linux相似
	GItCMD Windows风格命令行
	Git GUI 图形化界面的Git不建议

Linux常用命令:

	cd  改变目录  cd a/b/c
	cd .. 返回上级目录
	pwd 显示当前所在的路径
	ls(ll) 列出当前文件夹下的文件 ll是详细列出
	touch 新建一个文件
	rm 删除文件
	mkdir 创建目录
	rm -r 删除一个文件夹
	mv 移动文件  mv a.txt src a.txt  src是目标文件夹 这样子写需要在同一个文件夹下
	reset 重新初始化终端/清屏
	clear 清屏
	history 查看命令历史
	help 帮助
	exit 退出
	#注释

Git配置

	git config -l
	git config --system --list 系统配置
	git config --global --list 用户自己的配置
	user.name
	user.email
相关配置文件:
	Git\etc\gitconfig :Git安装目录下的gitconfig --system系统级别
	C:\Users\用户名\.gitconfig  global配置级别
	
	git config --global user.name = "***"  gitHub的用户名
	git config --global user.email = "***"  gitHub设置的邮箱

基本理论

工作目录(Working Directory) 暂存区(State) 资源库/本地库(History) 远程仓库(Remote Directory)
Remote->(git pull 拉取)->HIstory->(git reset)->Stage(Index)->(git checkout)->Working Directory
Working Directory->(git add files)->State(Index)->(git commit)->Repository(History)->(git push)->Remote Directory

命令

a.txt  ->(git add a.txt/add .) ->(git committed) = a.txt ->(commit -a)
文件三种状态:已修改(modify),已暂存(staged),已提交(committed)->push

Git项目搭建

本地:
	1.git init
	
克隆:
	clone
	git clone [url] https://git.....***

Git文件操作

4种状态
	Untracked    ->git add ->Staged
	Unmodify    ->git rm 移除库 ->Untracked
	Modified	   文件已修改,仅仅修改->git checkout 丢弃修改返回UNmodify状态  git checked 从库中取出文件,覆盖当前修改
	Staged git commit  ->同步到库中 此时库中的文件和本地的文件变得一致 文件为 Unmodify状态 执行git reset HEAD filename  取消暂存,状态变为Modifid
查看文件状态:
	git status filename
	git status 
"git rm --cached <file>..." to unstage
 git commit -m "first commit"
 结果:
 [master (root-commit) 8dba8f0] first commit hello.txt

忽略文件:

.gitignore
#为注释
*.txt #忽略所有 .txt结尾的文件
!lib.txt #但lib.txt除外
/temp #仅忽略项目根目录下的TODO文件,不包括其他目录temp
build/ #仅仅忽略build/目录下的所有文件
doc/*.txt #会忽略 doc/notes.txt 但不包括doc/server/arch.txt
*.class
*.log
*.lock

HELP.md
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**
!**/src/test/**

#Package Files#
*.jar
*.war
*.ear
target/

*velocity.log*

### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
.settings/
.classpath
bin/

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/

### VS Code ###
.vscode/

*.log
tmp/

#rebel
*rebel.xml*

使用码云

C:\user\名字\.ssh目录
生成公钥
ssh-keygen -t rsa

Git 分支

git branch 查看分支
git branch -r 查看远程分支
新建分支
	git branch dev  新建一个名为dev的分支(当前分支还是master)
	git checkout -b [branch]  新建一个分支并切换到该分支
git merge [branch] 	将指定分支合并到当前分支
git branch -d [branch-name] 删除分支
gitpush origin --delete [bransh-name] 删除远程分支
git branch -dr [remote/branch]
git checkout [branch] 切换分支,并更新工作区
git checkout - 切换到上一个分支
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

唐梓烨

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

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

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

打赏作者

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

抵扣说明:

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

余额充值