git版本控制的常见操作

关于远程服务git的搭建以及本地第一次向远程仓库推送:

http://blog.csdn.net/qq_20565303/article/details/77624680

1,创建本地仓库,以及获取远程仓库资源:

  与远程仓库建立链接就不说了,在上面的链接中,里面涉及了怎么和远程仓库建立链接。

  首先在自己创建的workspace获取其他文件夹里面执行一下操作: 

	$ git init
	Initialized empty Git repository in E:/ideaworkspace-myplan/.git/
	$ git clone git@117.48.200.4:/opt/git/myplan.git/
		Cloning into 'myplan'...
		git@117.48.200.4's password:			//远程用户git的密码
		remote: Counting objects: 38, done.
		remote: Compressing objects: 100% (27/27), done.
		remote: Total 38 (delta 1), reused 0 (delta 0)
		Receiving objects: 100% (38/38), 10.94 KiB | 279.00 KiB/s, done.
		Resolving deltas: 100% (1/1), done.

2、提交代码步骤:

	当前仓库状态(什么文件被修改没有提交的,涉及到已经git add之类的资源):
	git status
	对比下修改内容:
	git diff
	添加修改文件等待提交
	git add src/
	查看当前仓库状态,包括要提交的文件
	git status
	提交修改文件
	git commit -m "add mgt"
	git status
	git push origin master

3、版本控制历史记录:

        git log --pretty=oneline

4、回退版本:

	git reset --hard HEAD^
	Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,
	也就是最新的提交3628164...882e1e0(注意我的提交ID和你的肯定不一样),
	上一个版本就是HEAD^,上上一个版本就是HEAD^^,
	当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

	假如回退了,使用git log 将看不到最新的版本,如果又要指定到前面的最新版本,则:
	1)只要上面的命令行窗口还没有被关掉,你就可以顺着往上找啊找啊,找到那个append GPL的commit id是3628164...,于是就可以指定回到未来的某个版本:
		git reset --hard 3628164
		版本号不用写完,属于模糊查询,尽量多写
	2)当你用$ git reset --hard HEAD^回退到add distributed版本时,再想恢复到append GPL,就必须找到append GPL的commit id。
		Git提供了一个命令git reflog用来记录你的每一次命令:
		$ git reflog
			ea34578 HEAD@{0}: reset: moving to HEAD^
			3628164 HEAD@{1}: commit: append GPL
			ea34578 HEAD@{2}: commit: add distributed
			cb926e7 HEAD@{3}: commit (initial): wrote a readme file

5、本地版本库说明(两部分):

  在执行git init的目录中间,只要包含.git目录和其他目录(工作区):

	1)隐藏目录(.git)
		这个是Git的版本库,版本库中间最重要的两部分为:暂存区(stage)、第一个分支(master)
	2)工作区


6、关于修改后进行git add后再修改问题:

	首先修改文件,使用git add后,没有git commit
	然后第二次修改,直接git commit,此时,只会提交第一次修改的,第二次修改的还在工作区,暂存区(stage)没有内容,第一次的已经提交到master分支
	接着使用git diff,发现文件存在差异,然后再git add,git commit,会将第二次的修改提交到master分支,


7、撤销修改:

	1)git checkout -- readme.txt
	这里撤销的两种情况(只能撤销工作区):
		一种是已经没有暂存区,可以撤销到和版本库一模一样
		一种是已经放到了暂存区,然后又做了修改,然后可以撤销到和暂存区一模一样
	2)git reset HEAD readme.txt
	这里的撤销是指将暂存区的内容重新放回工作区,使用这个命令后暂存区是干净的,工作区有修改

8、删除文件:

	1)首先是在工作区使用命令git rm test.txt删除文件,然后git status发现文件差异,然后直接使用git commit
		git rm test.txt
		git commit -m "remove test.txt"
	2)如果是工作区误删时,相当于修改,此时需要使用git checkout -- test.txt,可以将误删版本更新到工作区
		git checkout -- test.txt


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值