git使用手册
1.git初始化本地仓库
//进入到仓库需要包括的文件夹下
git init //生成.git文件
git add xxx //将需要的文件加进去
2.git删除本地仓库
//进入到仓库所在的文件夹下
rm -fr .git
或者
find . -name ".git" | xargs rm -Rf
git生成密钥:
ssh-keygen -t rsa -b 4096
git stash 保存当前工作,同时会将当前工作项目换到本地最新的项目
git stash list 查看保存的工作项,最上面的stash@{0}是最新的
git stash show 用于校验
git stash apply stash@{0} 恢复栈顶项目,栈顶项目不变
git stash pop 恢复栈顶项目,但将栈中栈顶项目删除
git stash drop stash@{0} 删除指定的栈元素
git报错:sign_and_send_pubkey: signing failed: agent refused operation
错误解释:表示ssh-agent 已经在运行了,但是找不到附加的任何keys,就是说你生成的key,没有附加到ssh-agent上,需要附加一下,执行
解决办法:
eval "$(ssh-agent -s)"
ssh-add user_name
执行一下这两条命令后,就可以正常登录
备注:
同一个账户在不同的机器上使用git对同一个代码源仓库进行操作,需要重新生成公钥;然后,执行上边的两行shell命令
git clone ip_addr:project_name
git log
git pull
make
sudo make install
wi
ssh登录远程服务器:
ssh user_name@ip_addr
git fetch 拉去远程仓库代码并合并到本地分支
//方法一
$ git fetch origin master //从远程的origin仓库的master分支下载代码到本地的origin master
$ git log -p master… origin/master//比较本地的仓库和远程参考的区别
$ git merge origin/master//把远程下载下来的代码合并到本地仓库,远程的和本地的合并
//方法二
$ git fetch origin master:temp //从远程的origin仓库的master分支下载到本地并新建一个分支temp
$ git diff temp//比较master分支和temp分支的不同
$ git merge temp//合并temp分支到master分支
$ git branch -d temp//删除temp
git提交:
git status ./
git diff 具体的文件
git add 文件或者./
git commit -m “注释”
git push
git跟远程服务器添加账户
git config --global user.name “name”
git config --global user.email “email”
git回退代码到某次 commit,当前项目会消失,慎用
git reset --hard commitID
git push代码时发现远程服务器有其他人的修改,当前项目并不是最新的
先git commit 提交到本地
再git pull下最新的代码
git rebase回退到本地提交的版本,会自动将本地修改和远程的合并,rebase后面不用跟任何东西啊
// git checkout会清除掉无用的修改
此时再git push
git diff 的时候后面有^M处理,下面的命令只是本地看不到那些符号而已,这种方法不行哈
由于换行符在不同的操作系统上定义的区别造成的
git config --global core.whitespace cr-at-eol
git add -A
git add -A 提交所有变化 //不要用
git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new) //慎用
git add . 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件 //慎用
add到缓存中