.git remote -v 展示当前的所有远程库
.gitignore规则不生效的解决办法
把某些目录或文件加入忽略规则,按照上述方法定义后发现并未生效,原因是.gitignore只能忽略那些原来没有被追踪的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未被追踪状态),然后再提交:
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
---------------------------------------------------------
修改Git remote add时使用的远程仓库:
.先删后加
git remote -v
git remote rm origin
git remote add origin git@github.com:Liutos/foobar.git
---------------------------
git 冲突解决:
error: Your local changes to the following files would be overwritten by merge: xxx/xxx/xxx.java
Please, commit your changes or stash them before you can merge. Aborting
1.stash
git stash
git pull
git stash pop
git diff:
接下来diff一下此文件看看自动合并的情况,并作出相应修改。此命令比较的是工作目录(Working tree)和暂存区域快照(index)之间的差异也就是修改之后还没有暂存起来的变化内容。
git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。
git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。
git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。
git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。
2.放弃本地修改,直接覆盖之
git reset --hard
git pull
---------------------------------------------------------
在自建的Git本地仓库中,有三个区域:本地目录、暂存区、HEAD。
工作目录: 就是受Git控制的文件夹,所有被跟踪记录的文件都包括在其中;
暂存区(index或者stage):类似一个缓存区域,临时保存你做的改动;
HEAD:指向最近一次提交后的结果。
初始化Git仓库:
$ git init
$ git add . //递归地将所在的目录中的所有文件添加上去
$ git commit -m "Initial commit"
---------------------
git config --global user.name "liming"
git config --global user.email huliming@gmail.com
git init : 初始化一个一空版本仓库
echo "hello" >> hello 生成一个文件
cat .gitignore
git status
git add
git diff/rm commit/
----------------------------------------------------------------------------------
makdir ~/hello-world //创建一个项目hello-world
cd ~/hello-world //打开这个项目
git init //初始化
touch README
git add README //更新README文件
git commit -m "first commit"//提交更新,并注释信息“first commit”,注意是双引号,而非单引号
git remote add origin git@github.com:defnngj/hello-world.git //连接远程github项目
git push -u origin master //将本地项目更新到github项目上去
git remote rm origin
---------------------------------------------
ssh-keygen -t rsa -C "hulimin@gmail.com" --生成密钥 只对gIt@github.com起作用,而不对https起作用
Enter passphrase (empty for no passphrase): 输入在github上设置的密码。添加SSH公钥到github
ssh-agent -s //exec ssh-agent bash
ssh-add ~/.ssh/id_rsa
浏览器登录自己的github页面, 进入"Account Settings",
再点击左边的"SSH Key"可以看到自己上传过的SSH公钥列表.
再点击"Add SSH Key"新增一个公钥id_rsa.pub
ssh -T git@github.com 输 yes