一、git使用 配置文件.git/config文件

1、首先安装git:yum install -y git

2、自己创建git仓库:即创建一个空目录用来存放代码mkdir /usr/local/git_house

3、执行git init创建版本库,会在目录下生成.git

4、创建代码文件添加到仓库:

1)创建文件readme.txt

2)命令git add告诉把文件添加到仓库:Gitgit add readme.txt

3)用命令git commit告诉Git,把文件提交到仓库:git commit -m "wrote a readme file"

注:可以add多个代码文件,然后执行一次commit

5、查看git记录:git log ; git reflog;

6、git status 时刻掌握仓库当前的状态;

7、git diff readme.txt 查看具体修改细节;

二、版本回退

1、使用命令:git reset --hard HEAD^

用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。

2、恢复回退只前的:只需要指定HEAD号:用git reset --hard 号

git reset --hard 3628164

如何查看版本号:git reflog查看

三、撤销操作:

1、add之前:用checkout

$ git checkout -- readme.txt

2、commit之前:用reset

$ git reset HEAD readme.txt

小结

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。

场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。

四、删除操作:

1、正常删除

场景:在工作区删除了test.txt,git status时发现有删除,我们本来要删除

git rm test.txt

git commit -m "remove test.txt"

2、错误删除(需要恢复)

git checkout -- test.txt

五、使用GitHub

1、初次使用需要给GitHub配置ssh公匙,将本地的id_rsa.pub内容复制到GitHub

ssh-keygen -t rsa -C "[email protected]"

2、在远端创建仓库,然后在本地通过命令连接:

$ git remote add origin [email protected]:michaelliao/learngit.git

其中michaelliao,是你GitHub用户名,learngit.git是远端仓库

3、下一步,就可以把本地库的所有内容推送到远程库上:

$ git push -u origin master

-u -u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

4、克隆到本地:

git clone [email protected]:michaelliao/gitskills.git

其中其中michaelliao,是你GitHub用户名,gitskills.git是远端仓库

六、分支

Git鼓励大量使用分支:

查看分支:git branch

创建分支:git branch

切换分支:git checkout

创建+切换分支:git checkout -b

合并某分支到当前分支:git merge

删除分支:git branch -d

七、配置别名(删除别名直接在git.conf中删除)

告诉Git,以后st就表示status:

$ git config --global alias.st status

$ git config --global alias.lg "log --color --graph --pretty=format:‘%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)%Creset‘ --abbrev-commit"

八、问题:

1、执行git merge featurl提示*** Please tell me who you are.

[[email protected] git_house]# git config user.name "Yan199405"

[[email protected] git_house]# git merge featurl