git常用命令及常见问题的解决方法

一、常用命令

1.创建git工程

su git                    用“git”用户登录                       

cd /home/git
mkdir myPro.git
git init --bare         初始化库

修改下列目录的权限:
chmod -R 777 refs/
chmod -R 777 objects/

然后以用户身份登录:

su  some-user
mkdir test
cd test
git clone /home/git/myPro.git/
cd myPro
cp code ./ -r   将需要上传的代码拷贝到test
git add .         添加当前目录中的所有内容
git commit -m  "init project"
git commit -a  "info"
git push origin master

2.设置用户信息

git config --global user.name yuhaiping
git config --global user.email
[email protected]

3.git常用命令

git clone /home/git/b1s.git/  从服务器check out代码

git status   查看当前git工程的状态(哪些文件被需要添加,哪些需要删除,哪些进行过改动)
git diff  查看具体哪些内容发生了变化

git diff/show  version  --name-status   查看变化的文件列表
git add       添加一个文件到git index [file name]
• git add -A    stages All
• git add .      stages new and modified, without deleted
• git add -u    stages modified and deleted, without new
git log   查看commit的日志
git commit -a   提交当前repos的所有的改变
git commit -m   添加commit信息
git pull  拉下最新代码

git push    上传本地的改动到服务器

git reset     回退到某一版本

git checkout filename    放弃文件当前的改动,回退到上一版本

4.修改指定git库的权限

sudo chown -R git:git /home/git/myPro.git


二、常见问题

1、上传时的权限问题

在执行git push origin master之后,上传过程中报出如下错误:

objects/pack/tmp_pack_XXXXXX': Permission denied

解决方案:

首先,确认当前用户属于git用户组,如果不属于的话,添加当前用户到git用户组。

usermod -G git yuhaiping

其次,修改pack目录的权限:

chmod 777 -R /home/git/repo/proj/objects

2、为包含git信息的代码二次建立git工程

    在实际应用中,我们得到的很多源代码里面都含有git工程信息(.git目录和.gitignore文件),如果直接为这样的源代码二次建立git工程,常常会出错,导致git工程无法正常建立。此时,可以按如下步骤进行操作。

   A.删除源码中的所有.git目录

   find ./ -name .git | xargs rm -fr

   B.创建git工程,并提交源码(由于源码中存在.gitignore文件,所以代码可能提交不全)

   C.删除用于提交的源码中的所有.gitigore文件,再进行提交

   git add .



















你可能感兴趣的:(git)