git 命令行操作

1、初始化
	git init

2、设置签名
	项目级别的优先级大于系统级别,若无项目级别时使用系统级别
	项目级别:
		git config user.name 内容
		git config user.email 内容
    系统级别
    	git config --global user.name 内容
    	git config --global user.email 内容
	查看签名
		 git config user.name
		 git config user.email
	
3、查看工作区/暂存区文件状态、分支状态等
	git status

4、给远程仓库配置别名
	git remote add 别名 仓库https地址
	
4、将文件添加到暂存区
	git add 文件名.后缀名
	git add . 将当前路径下的所有文件添加到暂存区,不包括被删除的文件
	git add -u 仅监控已经被add的文件,会将被修改的文件再提交到暂存区
	git add -A 上面两种命令的合集,包括被删除的文件记录
	
5、将文件从暂存区撤回
	git rm --cached 文件名.后缀名

6、从暂存区提交到本地库
	git commit 文件名.后缀名
	git commit -m "提交信息" 文件名.后缀名  即可不进入vm操作

6.5、修改上一次提交
	git commit --amend  修改代码git add 后,使用改命令,可以修改上一次的提交日志

6.6、合并多次commit
	git rebase -i 合并区间;		具体用法:https://www.cnblogs.com/wangiqngpei557/p/5989292.html或合并多次commit文章

6.7、合并指定的commit到指定的分支上
	如果存在多个commit,则可能会存在多次cherry-pick合并,但可以通过合并commit解决
	1. git log   					 找到commit ID,此例的commitId是a12345
	2. git checkout master  		 切换到master分支
	3. git cherry-pick -i  a12345    将commit(a12345)合并至master
	处理冲突:
		冲突修改后
		git add .
		git cherry-pick --continue:解决完冲突之后,执行此命令完成正常合并
		git cherry-pick --skip: 跳过这个冲突,不建议使用
		git cherry-pick --abort: 放弃本次合并

7、按6中第一种方式提交后的vm编辑器操作
	:set nu 显示行号
	i 进入编辑模式,首行enter换行,写修改信息
	esc 后 :wq 退出vm

8、 查看历史提交记录
 空格向下翻页、b向上、q退出
	git log
	git log --pretty=oneline 省去多余换行的简介显示
	git log --oneline  在上一个的基础上,更加简洁了hash值
	git reflog 在上面基础上,增加了当前版本指针信息,便于前进后退 (推荐)
		head@{移动到当前版本需要多少步}


9、文件修改后的提交操作
	方式一:git add 文件名.后缀名 走6、7操作
	方式二:git commit -m "提交信息" 文件名.后缀名  

10、根据hash索引进入到指定版本
	git reset --hard 索引值(git reflog中第一个字符串)
		--soft 仅在本地库移动指针
		--mixed 在本地库移动指针、重置暂存区
		--hard 在本地库移动指针、重置暂存区和工作区

11、删除的文件找回
	方式一:文件已经提交到本地库,回退版本库,10
	方式二:文件已经提交到暂存区,git reset --hard HEAD

12、比较文件差异
	方式一:git diff 文件名.后缀名  未提交到暂存区
	方式二:git diff HEAD 文件名.后缀名 提交到暂存区(git add后)
	方式三:git diff 索引值 文件名.后缀名 和某个版本的文件进行比较
	方式四:不加文件名,比较工作区与缓存区

13、查看所有分支
	git branch -v

14、创建新分支
	git branch 分支名

15、切换分支
	git checkout 分支名

16、合并分支
	(1)切换到需要合并的分支上
	(2)执行git merge 分支名

17、解决合并产生的冲突
	(1)编辑文件到正常
	(2)git add 文件名.后缀名 提交到暂存区
	(3)git commit -m "提交日志"  不带文件名


19、推送
	git push 别名 分支名
	git push -u 别名 分支名
		-u表示下一次使用 git push 就相当于执行 git push 别名 分支名
		
20、暂存改动
	git stash save -a “message”
	git stash drop <stash@{ID}>  删除暂存
	git stash list	暂存列表
	git stash clear	删除全部暂存
	git stash pop <stash@{ID}>  恢复暂存

20、克隆
	git clone https地址
		克隆后的效果:
		(1)克隆远程仓库地址别名
		(2)初始化本地库
		(3)下载
		
21、拉取
pull 是fetch 和 merge的合并
	方式一:
	git fetch 远程仓库别名 远程仓库分支
	git merge 远程仓库别名/远程仓库分支
	方式二:
	git pull  远程仓库别名 远程仓库分支
	方式三:
	git fetch <远程主机名> <分支名>
	git fetch origin <branch-name>:<local-branch-name>

22、团队协作冲突
	前一个人将代码push进仓库后,后一个人也将该文件push,会失败,需要先pull,才能push
	

23、添加成员,输入框输入其账号

在这里插入图片描述

24、邀请后复制地址,发送给成员邮箱

在这里插入图片描述

25、团队外的成员提交
  团队外:
	(1)点击仓库页面fork图标,然后将项目克隆到本地
	(2)将修改内容提交推送后
	(3)点击Pull Request
	(4)点击New pull request
	(5)点击Create pull request
	(6)填写标题和提交信息
  团队:
	(7)团队成员点击Pull request
	(8)审核代码,Commits 进行哪些提交, File changed 做了哪些修改
	(9)可以在对话框继续交流
	(10)回到Conversation,点击Merge pull request合并代码,填写合并信息,继续点击

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

26、忽略文件配置
	https://github.com/github/gitignore(官网有对应语言的忽略模板)
	(1)创建.gitignore文件,填写忽略文件信息
		文件夹名  忽略文件夹
		
    (2)创建.gitconfig文件,内容都不需要加''引号
	    [user]
	    	name=git账号名
	    	email=git邮箱
    	[core]
    		excludesfile=.gitignore文件所在的绝对路径,注意路径的斜线为/或\\

忽略文件.gitignore

# 此行为注释 会被Git忽略

# 忽略 node_modules/ 目录下所有的文件
node_modules

# 忽略所有.vscode结尾的文件
.vscode

# 忽略所有.md结尾的文件
*.md

# 但README.md 除外
!README.md

# 会忽略 doc/something.txt 但不会忽略doc/images/arch.txt
doc/*.txt

# 忽略 doc/ 目录下所有扩展名为txt文件
doc/**/*.txt


  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值