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 linux_fish@126.com

3.git常用命令

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

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

git ls-files -m    查看当前修改文件的列表
git show  --stat  COMMIT_CODE      查看某次提交文件的列表

git show  --name-status COMMIT_CODE    与上一条指令类似,查看某次提交文件的列表

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 reset --hard  [ COMMIT_ID ]  回退到某一次commit

git checkout filename    放弃文件当前的改动,回退到服务器版本

4.修改指定git库的权限

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

5.查看指定用户的提交

git log --author=username

6.新建分支并切换到该分支

git  branch  branch_name
git  checkout  branch_name
等效于

git  checkout -b  branch_name

7.删除本地分支

git  branch  -d    

8.新建远程分支

将6中所创建的本地分支并push到git服务器即可

9.合并分支

git merge branch_name

二、常见问题


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 .

3.将已存在的git项目迁移到其他服务器

进入当前存在的git项目目录,执行如下命令:
$ git push --mirror 新项目地址

然后,从新地址clone就可以正常使用了。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值