Git使用(常见命令介绍)

git基础命令

git init: 初始化本地仓库
git config: 配置签名
git add 文件名: 将文件提交到缓冲区
git commit 文件名: 将文件提交到本地仓库
git commit -m “xxxxxx” 文件名:m参数表示添加提交说明
git status 查看状态
git log 查看日志 (git log --pretty==oneline git log --oneline)
git reflog 查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)
cat [文件名]:查看文件内容

回到以前版本:基于索引值(推荐)、基于^符号、基于~符号

  1. git reset:没有参数的时候只是操作了暂存区,不影响工作区(本地的代码)。等价于–soft
  2. git reset --soft:回退到某个版本,只回退了commit的信息,不会影响工作区。如果还要提交,直接commit即可;
  3. git reset --hard:回退到某个版本,工作区内容也会变为上一个版本的内容,彻底回滚;
git reset --hard 哈希索引值 : 回退/前进到某版本(先用log查到每个版本的索引值)
git reset --hard HEAD^ :回退一步,符号只能回退,退几步加几个符号
git reset --hard HEAD~3 :回退3步,~3相当于3个^符号

文件比较

git diff 文件名:将工作区文件和暂存区的文件进行比较(不带文件名则比较多个)
git diff HEAD[本地库某历史版本] 文件名: 将工作区文件和本地库某历史版本记录比较

分支命令:

git branch -v: 查看所有分支
git branch [分支名]: 创建一个分支
git checkout [分支名]: 切换分支

合并分支:

先切换到主分支(其他分支内容将要合并到的分支)上,执行: git merge [分支名]

eg: git merge b; 假定当前分支是a,则该命令将b分支的内容合并到a分支。

合并时冲突的解决:不同的两个人在同一个文件同一个位置的不同修改会发生冲突

协商解决好冲突好后,使用 git add [文件名] 表示冲突已解决,然后使用 git commit 即可完成修复(此处不加文件名)

远程交互:

git remote -v :查看远程仓库及其别名
 
git remote add [别名] [远程仓库地址] :给远程仓库起别名
 
git push [远程主机名] [本地分支名]  [远程分支名]:推送内容
	如果远程分支名被省略,则表示将本地分支推送到与之存在追踪关系的远程分支(通常两者同名);
	如果该远程分支不存在,则会被新建;
	如果当前分支与远程分支存在追踪关系,则本地分支和远程分支都可以省略;
	如果当前分支只有一个远程分支,那么主机名可以一起省略。
	
git clone [远程仓库地址]:将远程仓库下载到本地,创建远程仓库的别名origin,初始化本地库
 
git fetch  [分支名]:将远端仓库的对应分支拉取下来。
 	fetch下来的是一个新的分支,并不会合并到本地的分支上,需要我们自己再merge
 	
git pull 相当于fetch加merge
	git pull [远程主机名] [远程分支名]:[本地分支名] 
		如果远程分支是与当前分支合并,则冒号后面的部分可以省略;
		如果当前分支与远程分支存在追踪关系,则本地分支和远程分支名都可以省略;
		如果当前分支只有一个远程分支,那么主机名可以一起省略。

猜你喜欢

转载自blog.csdn.net/yan_danfeng/article/details/117256822