Git学习笔记

Ubuntu 下安装: sudo apt-get install git
老一点的Debian或Ubuntu Linux,要把命令改为sudo apt-get install git-core,因为以前有个软件也叫GIT(GNU Interactive Tools),结果Git就只能叫git-core了。由于Git名气实在太大,后来就把GNU Interactive Tools改成gnuit,git-core正式改为git。

msysgit是Windows版的Git,从http://msysgit.github.io/下载,然后按默认选项安装即可。

安装完成后,还需要最后一步设置,在命令行输入:

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

Git命令

$ mkdir learngit                              //新建目录   
$ cd learngit
$ pwd                                         //显示当前目录
$ git init                                    //创建一个版本库
$ git add readme.txt                          //增加文件
$ git commit -m "wrote a readme file"        //提交一个版本,-m后面输入的是本次提交的说明
$ git status                                 //掌握工作区的状态
$ git diff readme.txt                        //查看文件的变动
$ git log [--pretty=oneline]                 //查看历史记录
$ git checkout -- file                       //丢弃工作区的修改时,其本质是用版本库里的版本替换工作区的版本
$ git reset --hard HEAD^ [commit id]         //HEAD当前版本,HEAD^ 上一个版本,HEAD~N上N个版本,或者到指定commit id的那个版本,另:git reflog用来记录你的每一次命令,可以利用它向未来穿梭

docker gitlab 5iveL!fe
http://wiselyman.iteye.com/blog/2179651
https://bitnami.com/

自启动,在/etc/rc.local中添加:
./opt/gitlab-7.6.2-0/ctlscript.sh start

https://wiki.bitnami.com/@api/deki/pages/472/pdf
chmod 755 bitnami-gitlab-7.6.2-0-linux.run

sudo apt-get install openssh-server
ps -e | grep ssh

解决 Agent admitted failure to sign using the key. 问题
解決方式 使用 ssh-add 指令將私鑰 加進來

Git常用操作命令收集:

1) 远程仓库相关命令
检出仓库:$ git clone git://github.com/jquery/jquery.git
查看远程仓库:$ git remote -v
添加远程仓库:$ git remote add [name] [url]
删除远程仓库:$ git remote rm [name]
拉取远程仓库:$ git pull [remoteName] [localBranchName]
推送远程仓库:$ git push [remoteName] [localBranchName]

2)分支(branch)操作相关命令
查看本地分支:$ git branch
查看远程分支:$ git branch -r
创建本地分支:$ git branch [name] ----注意新分支创建后不会自动切换为当前分支
切换分支:$ git checkout [name]
创建新分支并立即切换到新分支:$ git checkout -b [name]
删除分支:$ git branch -d [name] ---- -d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项
合并分支:$ git merge [name] ----将名称为[name]的分支与当前分支合并
创建远程分支(本地分支push到远程):$ git push origin [name]
删除远程分支:$ git push origin :heads/[name]

3)版本(tag)操作相关命令
查看版本:$ git tag
创建版本:$ git tag [name]
删除版本:$ git tag -d [name]
查看远程版本:$ git tag -r
创建远程版本(本地版本push到远程):$ git push origin [name]
删除远程版本:$ git push origin :refs/tags/[name]

4) 子模块(submodule)相关操作命令
添加子模块:$ git submodule add [url] [path]
初始化子模块:$ git submodule init ----只在首次检出仓库时运行一次就行
更新子模块:$ git submodule update ----每次更新或切换分支后都需要运行一下
删除子模块:$ git rm --cached [path]

5)忽略一些文件、文件夹不提交
在仓库根目录下创建名称为“.gitignore”的文件,写入不需要的文件夹名或文件,每个元素占一行即可,如
target
bin
*.db

git clone git@g.zhet.com:hush/UPMS (别人的代码)一直要求密码认证,而我已经配置了RSA,苦苦搜索了近两天,终于在这找到了答案,感谢作者。
http://superuser.com/questions/543626/ssh-permission-denied-on-correct-password-authentication
答案为第一条:

server sshd_config(/etc/ssh/sshd_config)
1.To enable password authentication, uncomment the following line
PasswordAuthentication yes
2.To enable root login, uncomment the following line
PermitRootLogin yes
3.To enable ssh key login, un-comment the following line
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
I believe (1) is what you looking for.
阅读 2k

推荐阅读
全栈编程
用户专栏

自由程序员,技术路线c,delphi, c++,c#,java,php,node.js,python,golang,typescript;超喜欢re...

914 人关注
88 篇文章
专栏主页