git初始化简单设置
git config --global user.name "gaochaowie"
git config --global user.email "gaochaoweino@qq.com"
git init
git add readme.txt
git commit -m "wrote a readme file"
git status
git diff readme.txt
git log
git log --pretty=oneline
git reset --hard HEAD^
git reflog
git checkout -- readme.txt
git rm test.txt
git checkout -- test.txt
ssh-keygen -t rsa -C "youremail@example.com"
git remote add origin git@git.coding.net:gaochaowei/6800.git
git push -u origin master
git push -u -f origin master
git push origin master
git clone git@github.com:michaelliao/gitskills.git
创建分支
git checkout -b dev //-b参数表示创建并切换
git branch //命令查看当前分支
$ git add readme.txt
$ git commit -m "branch test"
git merge dev //把dev分支的工作成果合并到master分支
git log --graph命令可以看到分支合并图。
,Git还提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作:
git stash
git merge --no-ff -m "merged bug fix 101" issue-101
工作区是干净的,刚才的工作现场存到哪去了?用git stash list命令
一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;
另一种方式是用git stash pop,恢复的同时把stash内容也删了
git stash list
git stash apply stash@{0}
删除分支git branch -D feature-vulcan
git log --graph --pretty=oneline --abbrev-commit
git rebase
标签:git tag v1.0
git tag v0.9 f52c633
git tag -a v0.1 -m "version 0.1 released" 1094adb
git show v0.1
git tag -d v0.1
git push origin v1.0
git push origin --tags
git tag -d v0.9
windows版git修改配置
文件名过长问题:
git config --global core.longpaths true
CRLF问题
git config --global core.autocrlf false
搭建git服务器
1,sudo adduser git 新建用户
2,创建git证书登录
收集所要登录的用户公钥,就是id_rsa.pub文件,把所有公钥导入到/home/git/.ssh/authorized_keys中,一行一个。
3,初始化git仓库,
先选定一个目录作为git仓库,假定是/srv/sample.git,在/srv目录中输入以下命令:
sudo git init --bare sample.git
将owner改为git
sudo chown -R git:git sample.git
4,可以禁用git ssh登录:
编辑/etc/passwd文件,将:
git:x:1001:1001:,,,:/home/git:/bin/bash
改为
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
git子模块处理
你必须运行两个命令:git submodule init
来初始化你的本地配置文件,git submodule update
来从那个项目拉取所有数据并检出你上层项目里所列的合适的提交
git remote add origin git@gitee.com:liaoxuefeng/learngit.git
git remote -v
git remote rm origin
git remote add origin git@git.coding.net:gaochaowei/6800.git
git remote rm origin
git remote add coding git@git.coding.net:gaochaowei/6800.git
git remote add gitee git@gitee.com:gaochaoweino/snlink.git
git push github master