Skip to content

Commit

Permalink
git
Browse files Browse the repository at this point in the history
  • Loading branch information
ppabc committed Aug 30, 2016
1 parent 9af72e7 commit b1d40bc
Show file tree
Hide file tree
Showing 2 changed files with 185 additions and 0 deletions.
185 changes: 185 additions & 0 deletions git/git.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
#!/bin/bash
## git 2016-08-30
## http://www.aqzt.com
##email: [email protected]
##robert yu
##centos 6和centos 7

#安装git图形化工具GitExtensions
#安装的时候请将msysgit 和 kdiff 这两个选项勾选,ssh 选择 OpenSSH
#安装下一步Global Settings 为 Checkout as-is, commit as-is
#打开你的 git Extensions, 打开 Menu/Settings, 选择Global Settings, 并设置以下选项

#请大家打开自己的 msys.bat 然后在里面输入
#ssh-keygen -t rsa -C "你的email地址"

#生产KEY默认路径c:\Documents and Settings\你的目录夹\.ssh\id_rsa.pub
#比如用户robert2016则路径为C:\Users\robert2016\.ssh\id_rsa.pub

1.安装Git
yum install git git-daemon

2.生成SSH公钥
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
测试登陆 ssh localhost:
  $ ssh localhost
  正常情况下会登陆成功
调试步骤
  配置登陆失败了,按照以上步骤依旧提示要输入密码。用ssh -v 显示详细的登陆信息查找原因:
  $ ssh -v localhost
修改文件authorized_keys的权限
  $ chmod 600 ~/.ssh/authorized_keys

3.创建Git用户
useradd git
passwd git

4.初始化仓库
$ cd /home/git/
$ mkdir project.git
$ chown -R git:git /home/git
$ cd project.git
$ git --bare init

5.在工作机上提交首个文件
cd myproject
git init
touch README
git add .
git commit -m 'initial commit'
git remote add origin [email protected]:/home/git/project.git
git push origin master

6.在某目录克隆项目
cd /home/gittest
git clone git://[email protected]:/home/git/project.git

cd xinproject.git
git init
git remote add -f origin [email protected]:/home/git/project.git
git remote add -f origin [email protected]:/home/git/project.git
git remote add -f origin [email protected]:/data/git/project.git
git remote add -f origin [email protected]:/home/git/project.git
git remote add -f origin [email protected]:/home/git/project.git
git remote add -f origin [email protected]:/home/git/project.git

git config branch.master.remote origin
git config branch.master.merge refs/heads/master
git pull

已存在项目提交
cd existing_git_repo
git remote add origin git@localhost:mechanist.git
git add .
git commit -m "test"
git push -u origin master


初始化:
git init

添加当前目录所有内容:
git add .

查看状态:
git status


添加commit:
git commit -am "first commit."

版本对比:
git diff

查看历史记录:
git log

看一下每一次版本的大致变动情况,可以使用
git log –stat –summary

用git show命令查看

$ git show dfb02e6e4f2f7b573337763e5c0013802e39281

此方法可能使用的时候感觉特别的麻烦,其实可以用另外一种方便的方法.

$ git show dfb02 # 一般只使用版本号的前几个字符即可
$ git show HEAD # 显示当前分支的最新版本的更新细

GIT硬模式
$ git reset --hard "a9f2ba791d6654eace41f5a9da4b69680bca4ee9"

GIT软模式
$ git reset --soft "a9f2ba791d6654eace41f5a9da4b69680bca4ee9"

GIT reset TAG
$ git reset --hard aaa

分支操作

查看分支:$ git branch

创建分支:$ git branch 分支名称 (注意:请不要在服务端建立分支)

切换分支:$ git checkout 分支名称

删除分支:$ git branch -d 分支名称


加入服务器
git remote add 用户名@计算机名或IP:~/某个目录

推送数据
git push master master #本地master推送到远端master

如果想快捷的使用git push就推送到默认远端分支master,可以做个一次性设置:
git remote add origin <实际的ssl用户名>@<IP地址>:<Git在远端的path>
做完以上设置,以后直接使用git push 就会自动推送到上述设置地址了,但如果要推送到其他分支,还是需要加参数的,这个设置只是相当于一个默认参数而已。


接收数据
git pull origin master

如果想直接使用git pull直接接收,同样需要提前做一个一次性设置(同样也是不能应用多分支pull情况):
git branch --set-upstream master origin/master


本地库设置个人姓名和邮件
git config --global user.name "你的姓名,最好由没有符合和空格的英文字母组成"
git config --global user.email <邮件名>@<邮箱服务商后缀>

如果不设置个人信息,提交的信息将不会有更改者信息,这样会加大项目管理的难度。

#回退所有内容到上一个版本
git reset HEAD^

#回退a.py这个文件的版本到上一个版本
git reset HEAD^ a.py

#向前回退到第3个版本
git reset –soft HEAD~3

#将本地的状态回退到和远程的一样
git reset –hard origin/master

#回退到某个版本
git reset 057d

#回退到上一次提交的状态,按照某一次的commit完全反向的进行一次commit
git revert HEAD

#新建old_master分支做备份
git branch old_master

#push到远程
git push origin old_master:old_master

#本地仓库回退到某个版本
git reset –hard bae168

#删除远程的master分支
git push origin :master

#重新创建master分支
git push origin master
File renamed without changes.

0 comments on commit b1d40bc

Please sign in to comment.