git最全最常用的命令整理

Git生成私钥

查看单前用户
	git config user.name
	git config user.email
配置自己的身份,这样在提交代码的时候就能知道是谁提交的:
	git config --global user.name "limengfan"
	git config --global user.email "limengfan@qq.com"
查看是否已经有了ssh密钥
	cd ~/.ssh 
	ls
	如果没有密钥则不会有此文件夹,有则备份删除
生存密钥
	$ ssh-keygen -t rsa -C "limengfan@qq.com"3个回车,密码为空。
最后得到了两个文件
	id_rsa和id_rsa.pub

基本操作

1.创建仓库
		使用当前目录作为Git仓库,我们只需使它初始化。
			git init 
		使用我们指定目录作为Git仓库
			git init 名称
		查询代码仓库
			ls -al
	2.提交本地代码
		添加文件到缓存中
			git add .				添加所有
			git add 文件名1 文件名2 	添加单个文件
		清除不要的修改文件
			git checkout 文件名
		从缓存中删除文件
			git reset HEAD 文件名
		查看添加的文件(A表示已添加的,AM表示添加后又有改动)
			git status -s
		将缓存区内容提交到仓库中
		提交这里要在-m参数后面加上提交参数,不然会被认为不合法不能提交.
			git commit -m "提交测试"
		将提交代码推到远程服务器
			git push
	3.以查看在你上次提交之后是否有修改
		git status 
	4.查看执行 git status 的结果的详细信息
		尚未缓存的改动:git diff
		查看已缓存的改动: git diff --cached
		查看已缓存的与未缓存的所有改动:git diff HEAD
		显示摘要而非整个 diff:git diff --stat
		注意:git status 显示你上次提交更新后的更改或者写入缓存的改动,
			 而 git diff 一行一行地显示这些改动具体是啥。
	7.更新本地代码
		git pull
	8.从现有 Git 仓库中拷贝项目
		克隆repo文件到当前目录
			git clone repo
		克隆到指定的目录(及directory目录)
			git clone repo directory	
		要克隆 Ruby语言的 Git代码仓库 Grit,newname指自定义克隆文件名
			git clone git://github.com/schacon/grit.git newname
	7.创建目录
		mkdir 目录名
	8.创建文件
		touch 文件名	
	9.修改文件
		vim 文件名
			按键:i      光标前插入  
			按键:a      光标后插入
		退出编辑
			esc按键
		保存并退出
			输入wq
	10.查看文件内容
		cat 文件名
	11.删除文件
		rm 文件名
		rm -f 文件名		强制删除
		rm –r *		递归删除整个目录中的所有子目录和文件
	12.移动或重命名文件
		mv a.txt  b.txt		将a.txt文件改名为b.txt
		mv a.txt  ./a		将a.txt文件移动到单前的a目录下

不影响当前工作,更新核心代码

# 保存工作现场(将目前还不想提交的但是已经修改的代码保存至堆栈中)
git stash

# 从远程仓库获取最新代码并自动合并到本地
git pull

# pull 命令如果有冲突,先处理冲突

# 恢复工作现场
git stash pop

分支管理(切换分支Git将还原你的工作目录到你创建分支时候的样子)

	1.列出分支
		git branch

		# 查看全部分支
		git branch -a

		注:我们有一个叫做 master 的分支,并且该分支是当前分支。
		 git init 的时候,缺省情况下 Git 就会为你创建 master 分支。
	2.创建分支命令:
		git branch 分支名
	3.切换分支
		git checkout (branchname)
	4.创建新分支并立即切换到该分支下
		git checkout -b (branchname)
	5.删除分支
		git branch -d (branchname)
	6.合并分支(你可以多次合并到统一分支, 也可以选择在合并之后直接删除被并入的分支)
		git merge 想要合并的分支名
	7.将本地的分支推送到远程主机origin上的对应分支
		git push origin 本地分支名:远程分支名
	8.将本地的master分支推送到origin主机,同时指定origin为默认主机,以后就可以不加任何参数使用git push
		git push -u origin master 
# 将本地的代码提交到git仓库
**创建新版本库**(服务器)
	
	git clone (地址)
	cd guojian_mobile
	touch README.md
	git add README.md
	git commit -m "add README"
	git push -u origin master

**已存在的文件夹或 Git 仓库**(服务器)

	cd existing_folder
	git init
	git remote rm origin                // 删除关联对应的远程仓库地址
	git remote add origin (地址)			//添加git地址
	git remote set-url origin (新地址)	//修改git地址
	git add .
	git commit
	git push -u origin master

git更换远程仓库地址

先查看关联的远程仓库地址
git remote -v
修改更新
git remote set-url origin (新地址)

git回退代码

1. 查看代码提交记录
	git log
2. 将最新的3次提交全部重置,就像没有提交过一样。
	git reset --hard HEAD~3  
3. 回退到 38679ed709fd0a3767b79b93d0fba5bb8dd235f8 版本
	git reset --hard 38679ed709fd0a3767b79b93d0fba5bb8dd235f8)
4. 查看最近的操作记录
	git reflog
5.回撤后,push 提交会失败,因为当前分支的版本低于远程分支的版本,所以要想覆盖掉它,必须使用force
	git push origin dev --force

git代码修复

在平时开发中,我们有时候可能会因为手误或其它原因将某些重要文件删除。如果之前有将此文件纳入到 Git 中,这时便可以利用 Git 来对误删文件进行恢复。

  1. 查看 Git 状态,能看到有相关提示显示 XXXX 文件已被删除

    git status 
    
  2. 下面我们使用 Git 进行恢复被删除文件

    git checkout -f 
    

解决git pull/push每次都需要输入密码问题

如果我们git clone的下载代码的时候是连接的https://而不是git@git (ssh)的形式,当我们操作git pull/push到远程的时候,总是提示我们输入账号和密码才能操作成功,频繁的输入账号和密码会很麻烦。

进入你的项目目录
输入命令: git config --global credential.helper store
然后你会在你本地生成一个文本,上边记录你的账号和密码。当然这些你可以不用关心。
然后你再操作一次git pull,然后它会提示你输入账号密码,这一次之后就不需要再次输入密码了。

冲突解决

//先同步了本地库和远程库,再进行文件的上传。
git pull --rebase origin master
//强制推送本地代码,结果:本地代码会覆盖线上的git仓库的代码
git push -f origin master

git强制覆盖本地代码(谨慎操作,自己本地修改未提交的代码会被覆盖)

(与git远程仓库保持一致:git reset --hard origin/master)

git fetch --all
git reset --hard origin/master 			//返回上一步不提交【解决冲突】
git pull

Git 本地分支与远程分支关联

git branch-set-upstream-to=origin/远程分支的名字 本地分支的名字

git branch --set-upstream-to=origin/dev dev

git操作之git commit以后想要回退方法

# 回退到上一个提交状态,并保留修改的文件
git reset --soft HEAD^

完毕

好了,我是向宇,https://xiangyu.blog.csdn.net/

一位在小公司默默奋斗的开发者,出于兴趣爱好,于是开始自习unity。最近创建了一个新栏目【你问我答】,主要是想收集一下大家的问题,有时候一个问题可能几句话说不清楚,我就会以发布文章的形式来回答。 虽然有些问题我可能也不一定会,但是我会查阅各方资料,争取给出最好的建议,希望可以帮助更多想学编程的人,共勉~

我知道阁下是一位白嫖高手,但假如我说下面有个打赏按钮,那阁下又该如何应对呢?
(量力而行,力虽微,心暖人,你的支持是我创作的最大动力)

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

向宇it

创作不易,感谢你的鼓励

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

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

打赏作者

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

抵扣说明:

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

余额充值